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

【相关学习推荐:php编程(视频)】
php登录超时session问题,原理是:
1、登录时候用session记录登录时间
立即学习“PHP免费学习笔记(深入)”;
$_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 "<script type='text/javascript'>alert('用户名或密码错误');window.history.go(-1);</script>";
}
}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图文教程】
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号