Heim >Backend-Entwicklung >PHP-Problem >Was soll ich tun, wenn ich PHP-Cookies nicht löschen kann?
Die Lösung für das Problem, dass PHP-Cookies nicht gelöscht werden können: Erstellen Sie zunächst eine PHP-Beispieldatei, und legen Sie schließlich die Gültigkeitsdauer dieses Cookies auf einen Zeitpunkt vor dem aktuellen Zeitpunkt fest, um das erstellte Cookie zu löschen.
Die Betriebsumgebung dieses Tutorials: Windows 7-System, PHP-Version 7.1, DELL G3-Computer
PHP kann COOKIE nicht löschen? Gültigkeitsdauer für Cookies festlegen
PHP unterstützt transparent HTTP-Cookies. Cookies sind ein Mechanismus, der Daten auf der Remote-Browserseite speichert und zur Verfolgung und Identifizierung von Benutzern verwendet. Cookies können mit den Funktionen setcookie() oder setrawcookie() gesetzt werden. Cookies sind Teil des HTTP-Headers, daher muss die Funktion setcookie() aufgerufen werden, bevor andere Informationen an den Browser ausgegeben werden, was den Einschränkungen für den Header ähnelt ()-Funktion.
setcookie();
Die Möglichkeit, ein Cookie zu löschen, besteht darin, die Gültigkeitsdauer dieses Cookies auf vor der aktuellen Zeit festzulegen
setcookie('test', 'true', time() + 300); // 创建 cookie //setcookie('test',time() - 3600 ); // 清除建立的 cookie //setcookie('test'); //只是将 $_COOKIE['test'] 的值清空 如果直接setcookie('test', ''); echo ''; print_r($_COOKIE); //attay();
Sie werden feststellen, dass das $_COOKIE-Array leer ist, nicht nur $_COOKIE['test'] ist leer Winsock erfasst das Paket und beobachtet die Rückgabe. Der http-Header lautete wie folgt:
set-cookie:test=deleted; expires=Mon, 29-May-2014 10:22:15 GMT
Login:
setcookie('username', 'zhangsan', time()+1000, "/php100");
Exit:
setcookie('username', '', time()-3600);
Es wurde festgestellt, dass es beim Beenden im IE kein Problem gibt, aber beim Testen in Firefox ist die Anmeldung normal und kann nicht beendet werden. Überprüfen Sie die Cookie-Datensätze in IE und Firefox. Nach dem Test wurde festgestellt, dass der vierte Parameter (legaler Pfadparameter) von setcookie() nicht angegeben wurde, sodass die Pfade der beim Anmelden und Beenden festgelegten Cookies unterschiedlich waren (Firefox ist strenger, was zur Rekonstruktion verschiedener Variablen führt) [Empfohlene Studie: „PHP-Video-Tutorial“]
Beispiel:
$value = 'something'; setcookie('TestCookie', $value, time() + 3600); setcookie('mytest', $value, time() + 3600, "~rasmus", ".maoge.com", 1); if (isset($_COOKIE['TestCookie'])) { echo 'TestCookie :' . $_COOKIE['TestCookie']; }
Das obige ist der detaillierte Inhalt vonWas soll ich tun, wenn ich PHP-Cookies nicht löschen kann?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!