php登录超时session怎么办

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 "<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图文教程】

更多关于云服务器域名注册虚拟主机的问题,请访问西部数码官网:www.west.cn

赞(0)
声明:本网站发布的内容(图片、视频和文字)以原创、转载和分享网络内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-62778877-8306;邮箱:fanjiao@west.cn。本站原创内容未经允许不得转载,或转载时需注明出处:西部数码知识库 » php登录超时session怎么办

登录

找回密码

注册