Lösung für PHP-Anmeldezeitüberschreitung: Verwenden Sie zuerst die Sitzung, um die Anmeldezeit beim Anmelden aufzuzeichnen. Überprüfen Sie dann, ob die Sitzung nicht vorhanden ist, und kehren Sie dann zur Anmeldeseite zurück. Vergleichen Sie sie die Ladezeit der Seite mit der Anmeldezeit; wenn sie schließlich größer als das Timeout ist, löschen Sie sie einfach.
【Verwandte Lernempfehlung: php-Programmierung(Video)】
Lösung für PHP-Anmelde-Timeout-Sitzung:
php-Anmelde-Timeout-Sitzungsproblem, das Prinzip ist:
1. Bei der Protokollierung verwenden in Sitzungsaufzeichnungen Anmeldezeit
$_SESSION['time']=time();
2. Wenn die Seite nicht vorhanden ist, wird festgestellt, dass zur Anmeldeseite zurückgesprungen wird. Wenn die Sitzung vorhanden ist, wird die Ladezeit der Seite mit der Anmeldezeit verglichen . Wenn es größer als das Timeout ist, löschen Sie die Sitzung. Wenn die Zeit kleiner als das Timeout ist, aktualisieren Sie den Sitzungswert für die Anmeldezeit.
Anmeldecode:
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(); } }
Öffentlicher Controller-Konstruktorcode:
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"); } }
[Verwandte Lernempfehlungen: php-Grafik-Tutorial]
Das obige ist der detaillierte Inhalt vonWas tun, wenn bei der PHP-Anmeldesitzung eine Zeitüberschreitung auftritt?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!