首頁  >  文章  >  後端開發  >  php登入超時session怎麼辦

php登入超時session怎麼辦

coldplay.xixi
coldplay.xixi原創
2020-08-24 10:30:422810瀏覽

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