温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

php登录超时session的解决方法

发布时间:2020-08-25 09:26:15 来源:亿速云 阅读:115 作者:小新 栏目:编程语言

php登录超时session的解决方法?这个问题可能是我们日常学习或工作经常见到的。希望通过这个问题能让你收获颇深。下面是小编给大家带来的参考内容,让我们一起来看看吧!

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

php登录超时session的解决方法

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 "<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登录超时session的解决方法大概了解了吗?希望文章内容对大家有所帮助。如果想了解更多相关文章内容,欢迎关注亿速云行业资讯频道。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI