php登錄超時(shí)session的解決方法?這個(gè)問題可能是我們?nèi)粘W(xué)習(xí)或工作經(jīng)常見到的。希望通過這個(gè)問題能讓你收獲頗深。下面是小編給大家?guī)淼膮⒖純?nèi)容,讓我們一起來看看吧!
創(chuàng)新互聯(lián)建站10多年企業(yè)網(wǎng)站建設(shè)服務(wù);為您提供網(wǎng)站建設(shè),網(wǎng)站制作,網(wǎng)頁(yè)設(shè)計(jì)及高端網(wǎng)站定制服務(wù),企業(yè)網(wǎng)站建設(shè)及推廣,對(duì)木托盤等多個(gè)領(lǐng)域擁有豐富的網(wǎng)站運(yùn)維經(jīng)驗(yàn)的網(wǎng)站建設(shè)公司。
php登錄超時(shí)session的解決辦法:首先登錄時(shí)候用session記錄登錄時(shí)間;然后頁(yè)面打開時(shí)候判斷session如果不存在,就跳回登錄頁(yè)面;接著如果session存在,則將頁(yè)面加載時(shí)間和登錄時(shí)間對(duì)比;最后如果大于超時(shí)時(shí)間,則刪除即可。
php登錄超時(shí)session的解決辦法:
php登錄超時(shí)session問題,原理是:
1、登錄時(shí)候用session記錄登錄時(shí)間
$_SESSION['time']=time();
2、頁(yè)面打開時(shí)候判斷session如果不存在,就跳回登錄頁(yè)面;如果session存在,則將頁(yè)面加載時(shí)間和登錄時(shí)間對(duì)比,如果大于超時(shí)時(shí)間,則刪除session,如果時(shí)間小于超時(shí)時(shí)間,則更新登錄時(shí)間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(); } }
公共控制器構(gòu)造函數(shù)代碼:
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"); } }
感謝各位的閱讀!看完上述內(nèi)容,你們對(duì)php登錄超時(shí)session的解決方法大概了解了嗎?希望文章內(nèi)容對(duì)大家有所幫助。如果想了解更多相關(guān)文章內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。