php登录超时session的解决办法:首先登录时候用session记录登录时间;然后页面打开时候判断session如果不存在,就跳回登录页面;接着如果session存在,则将页面加载时间和登录时间对比;最后如果大于超时时间,则删除即可。
【相关学习推荐:php编程(视频)】
php登录超时session的解决办法:
php登录超时session问题,原理是:
1、登录时候用session记录登录时间$_SESSION['time']=time();
2、页面打开时候判断session如果不存在,就跳回登录页面;如果session存在,则将页面加载时间和登录时间对比,如果大于超时时间,则删除session,如果时间小于超时时间,则更新登录时间session值!
登录代码:public function login(){
if($_POST){
$where['username']=$_POST['username'];
$where['password']=md5("php100".$_POST['password']);
$users=M('users')->where($where)->find();
if($users){
$_SESSION['id']=$users['id'];
$_SESSION['user_shell']=md5($users['username'].$users['password']);
$_SESSION['time']=time();
$this->redirect('Index/index');
}else{
echo "";
}
}else{
$this->display();
}
}
公共控制器构造函数代码:public function _initialize()
{
if(isset($_SESSION['user_shell'])){
if(time()-$_SESSION['time']>60){
unset($_SESSION['user_shell']);
$url=U('Login/login');
Header("Location:$url");
}else{
$_SESSION['time']=time();
}
}else{
$url=U('Login/login');
Header("Location:$url");
}
}
【相关学习推荐:php图文教程】