首页 > 后端开发 > PHP问题 > php登录超时session怎么办

php登录超时session怎么办

coldplay.xixi
发布: 2023-03-05 07:12:01
原创
2906 人浏览过

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

php登录超时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图文教程

以上是php登录超时session怎么办的详细内容。更多信息请关注PHP中文网其他相关文章!

相关标签:
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
最新问题
怎么学好php
来自于 1970-01-01 08:00:00
0
0
0
PHP扩展intl
来自于 1970-01-01 08:00:00
0
0
0
php数据获取?
来自于 1970-01-01 08:00:00
0
0
0
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板