337 Stimmen

Ein Cookie entfernen

Wenn ich ein Cookie entfernen möchte, versuche ich

unset($_COOKIE['hello']);

Ich sehe in meinem Cookie-Browser von Firefox, dass das Cookie noch existiert. Wie kann ich das Cookie wirklich entfernen?

374voto

Nikunj K. Punkte 8071

Das können Sie versuchen

if (isset($_COOKIE['remember_user'])) {
    unset($_COOKIE['remember_user']); 
    setcookie('remember_user', null, -1, '/'); 
    return true;
} else {
    return false;
}

315voto

Re0sless Punkte 10302

Setzen Sie den Wert auf "" und das Verfallsdatum auf gestern (oder ein beliebiges Datum in der Vergangenheit)

setcookie("hello", "", time()-3600);

Dann läuft das Cookie beim nächsten Laden der Seite ab.

264voto

Mouloud Punkte 3545

Ein sauberer Weg, ein Cookie zu löschen, besteht darin, beide Cookies zu löschen. $_COOKIE Wert und die Cookie-Datei des Browsers:

if (isset($_COOKIE['key'])) {
    unset($_COOKIE['key']);
    setcookie('key', '', time() - 3600, '/'); // empty value and old timestamp
}

37voto

Thejoker123 Punkte 485

Um ein Cookie zuverlässig zu löschen, reicht es nicht aus, es so einzustellen, dass es zu einem beliebigen Zeitpunkt in der Vergangenheit abläuft, wie es von Ihrem PHP-Server berechnet wird. Der Grund dafür ist, dass Client-Computer oft andere Zeiten als Ihr Server haben können und haben.

Am besten ist es, das aktuelle Cookie mit einem leeren Cookie zu überschreiben, das nach einer Sekunde abläuft in Zukunft nach der Epoche (1. Januar 1970 00:00:00 UTC), als so:

setcookie("hello", "", 1);

22voto

Eric Petroelje Punkte 58501

Dadurch wird das Cookie in Ihrem Code zurückgesetzt, aber da die $_COOKIE-Variable bei jeder Anfrage aktualisiert wird, wird sie bei der nächsten Seitenanfrage einfach wiederhergestellt.

Um das Cookie tatsächlich loszuwerden, setzen Sie das Ablaufdatum in die Vergangenheit:

// set the expiration date to one hour ago
setcookie("hello", "", time()-3600);

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X