Session设置时间
在大多数论坛中都可在登录时对登录时间进行选择,如保存一个星期、保存一个月等。这时就可以通过 Cookie 设置登录的失效时间。
1、客户端没有禁止 Cookie
(1) 使用Session_set_cookie_params()设置Session的失效时间,此函数是Session结合Cookie设置失效时间,如要让Session在1分钟后失效,实例关键代码如下:
<?php
$time=1*60; //设置Session失效时间
session_set_cookie_params($time); //使用函数
session_start(); //初始化Session
$_SESSION[username]='mr';
?>
注意:session_set_cookie_params()必须在Session_start()之前调用。
说明:不推荐使用此函数,此函数在一些浏览器上会出现问题。所以一般手动设置失效时间。
(2)使用setcookie()函数可对Session设置失效时间,如让Session在1分钟后失效,实例关键代码如下:
<?php
session_start();
$time=1*60;//给出Session失效时间
setcookie(session_name,session_id,time()+$time,'/'); //使用setcookie()手动设置session失效时间
$_SESSION['user']="mr";
?>
说明:session_name是Session的名称,session_id是判断客户端用户的标识,因为session_id是随机产生的唯一名称,所以Session是相对安全的。失效时间和Cookie的失效时间一样,最后一个参数为可选参数,是放置Cookie的路径。