Heim > Artikel > Backend-Entwicklung > Die Website wird von SESSION verwaltet. Ich habe alle Cookies auf dem Client-Computer manuell gelöscht. Warum bin ich immer noch angemeldet, wenn ich sie erneut besuche?
Ich bin erst seit weniger als 3 Monaten mit PHP vertraut und bin ein Neuling ... Die Website, die ich zum Testen geschrieben habe, verwendet SESSION, um die Antwort aufrechtzuerhalten. Ohne den Browser zu schließen, habe ich alle Cookies auf dem Client manuell gelöscht. Datei, dann die Website aktualisiert und festgestellt, dass das Konto noch angemeldet ist ... Was ist los?
Laut einigen der Websites, die ich normalerweise verwende, werde ich mich abmelden, solange ich die Cookies lösche...Das Folgende ist mein Problemcode, bitte geben Sie mir einen Rat.
Seite A, die Anmeldecodes verwaltet
<code>//登录成功,保持登录状态 function login_true($username){ session_start(); $_SESSION['userinfo']=array('uid'=>476283675,'username'=>$username); } </code>Seite B zeigt die Anmeldeoberfläche
<code>/*如果$_SESSION['userinfo']或$_SESSION['userinfo']['uid']为空 *则说明未登录,引导用户登录 */ session_start(); if (empty($_SESSION['userinfo'])or empty($_SESSION['userinfo']['uid'])){ echo "<a href='919.html'>点我登录</a>"; die('请先登录'); } echo '晚上好';</code>Nachdem ich die Cookie-Datei gelöscht habe, bleibe ich immer noch angemeldet. Was ist das Problem?
Antwortinhalt:
Laut einigen der Websites, die ich normalerweise verwende, werde ich mich abmelden, solange ich die Cookies lösche...
Das Folgende ist mein Problemcode, bitte geben Sie mir einen Rat.
Seite A, die Anmeldecodes verwaltet
Seite B zeigt die Anmeldeoberfläche
<code>//登录成功,保持登录状态 function login_true($username){ session_start(); $_SESSION['userinfo']=array('uid'=>476283675,'username'=>$username); } </code>
Nachdem ich die Cookie-Datei gelöscht habe, bleibe ich immer noch angemeldet. Was ist das Problem?
<code>/*如果$_SESSION['userinfo']或$_SESSION['userinfo']['uid']为空 *则说明未登录,引导用户登录 */ session_start(); if (empty($_SESSION['userinfo'])or empty($_SESSION['userinfo']['uid'])){ echo "<a href='919.html'>点我登录</a>"; die('请先登录'); } echo '晚上好';</code>
Verwenden Sie die Schaltfläche „Löschen“, die in Ihrem Browser enthalten ist.
Wenn das Cookie erfolgreich gelöscht wird, geht logischerweise die im Cookie gespeicherte Sitzungs-ID verloren. Die Sitzungs-ID, die nicht durch Anfordern des Back-End-Sitzungsmechanismus abgerufen werden kann, wird zum Abrufen der der Sitzungsdatei entsprechenden Informationen verwendet. Ich weiß nicht, welcher Teil Ihres Systems die Ausnahme verarbeitet. Cookies nicht gelöscht? Ist die Sitzungs-ID in anderen Formen im Anfragetext enthalten?
Session speichert die Sitzung, indem bei jeder Anfrage ein session_id-Wert übergeben wird. Es gibt zwei Möglichkeiten, ihn zu übergeben: eine Möglichkeit besteht darin, bei jeder Anfrage Cookies mitzuführen, oder es wird über die URL übergeben . Wenn Ihre PHP-Einstellungen über Cookies erfolgen, generiert der Server automatisch eine neue Sitzungs-ID, was bedeutet, dass die ursprüngliche Sitzung verloren geht Die Löschmethode ist falsch. Verwenden Sie als Entwickler das Opener-Tool des Browsers. Es kann alle Cookies unter dem aktuellen Domainnamen anzeigen und Cookies löschen.