Heim  >  Artikel  >  Backend-Entwicklung  >  Was soll ich tun, wenn ich PHP-Cookies nicht löschen kann?

Was soll ich tun, wenn ich PHP-Cookies nicht löschen kann?

藏色散人
藏色散人Original
2021-02-25 17:55:321815Durchsuche

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.

Was soll ich tun, wenn ich PHP-Cookies nicht löschen kann?

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn