Home >Backend Development >PHP Problem >What to do if the PHP login session times out
The solution to the PHP login timeout session: First, use the session to record the login time when logging in; then when the page is opened, judge whether the session does not exist, and jump back to the login page; then, if the session exists, add the page loading time and Compare the login time; if it is greater than the timeout, delete it.
[Related learning recommendations: php programming (video)]
php login timeout Session solution:
php login timeout session problem, the principle is:
1. Use session to record the login time when logging in
$_SESSION['time']=time();
2. When the page is opened Determine if the session does not exist, jump back to the login page; if the session exists, compare the page loading time with the login time, if it is greater than the timeout, delete the session, if the time is less than the timeout, update the login time session value!
Login code:
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 controller constructor code:
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"); } }
[Related learning recommendations: php graphic tutorial]
The above is the detailed content of What to do if the PHP login session times out. For more information, please follow other related articles on the PHP Chinese website!