php登录超时session怎么办

php登录超时session解决办法:首先登录时候用session记录登录时间;然后页面打开时候判断session如果不存在,就跳回登录页面;接着如果session存在,则将页面加载时间和登录时间对比;最后如果大于超时时间,则删除即可。

【相关学习推荐:php编程(视频)】

php登录超时sessiE D w ] @on的解决办法:

php登录超时session问题,原理是:

1、登录时候用session记q ~ 4 j录登录I W +时间

$_K E L u X T TSESSION['time']=time();

2、页面J * J p j m 2 ]打开时候判断session如果不存在,就跳回登录页& h }面;如果session存在,则将页面加载时间和登录时间对比,如果大于超时时间,则删除session,如果时间小于超时时间,则更新登录时间session值!

登录代码:

public function. Y 4 8 1 v 7 - T login(){
if($_POST){
$where['username']=$_POST['I M Ousername'];
$whe) o E z U ! (re['password']=md5("php100".$_POST['password']);
$users=M('users')->I W [;where($where)->find();
if($users){
$_SESSION['id']=$user1 { { & es['id'];
$_SESSION['user_shell']=md5($users['J u l - x ! h tusernamee ] ; ~'].$users['password']);
$_SESSION['time']=time();
$this->redirecN b ~ K S W %t('Index/index');
}else{
echo "<script type='text/javascript'>alert('用户名或密码错误Q Q q');window.history.go(-1);&Y ` / c 5 e {lt;/[  2 Hscript>";
}
}else{
$this->J o X  m;display();
}
}

公共控制器构造函数代码:

public function _initialize()
{/ | F b
if(isset($_SESSION['user_shell'])){
if(| r A ^ Ctime()-$D n Z { u Q F { :_SESSION['time']>60){
unset5 4 v J A v($_SESSION['user_shell']);
$urD X  bl=U('Login/login');
Header("Location:$url");
}else{
$_SESSION['time']=time();
}
}else{
$url=U('# b  ; $ b = Z ZLogin/login');
Header("Location? h l l 8 f y:$ub n m 1 x Crl");
}
}

【相关学习推荐:php图文教程】

以上就G B g 1 % E k n是php登录超时session怎么办的详细内容。