2013-06-19 16 views
11

Wie kann ich Cookies in Laravel 4 löschen oder löschen?Unset cookie Laravel 4

return Response::make('', 302, array('Location' => $_SERVER['HTTP_REFERER']))->withCookie($cookie);

Aber am Ende, ich brauche diese Daten zu zerstören: den nächsten Code

ich es geschaffen.

Wie kann ich das tun?

Antwort

24

Sie haben Cookies verwenden :: vergessen wie folgt aus:

$cookie = Cookie::forget('cookieKey'); 

return Response::make('foo')->withCookie($cookie); 

erinnern Sie müssen immer das Cookie Rückkehr mit der Antwort, ist es nicht wie Se ssion.

2

Im ziemlich sicher, dass es das forget() Methode ..

Also in Ihrem Fall .... wenn $ cookie gemacht wurde ein Name gegeben wurde, nur ungesetzt es wie so

Cookie::forget('yourCookie'); 
+0

Ich habe es so versucht (und es sollte funktionieren, da es in der Dokumentation ist), aber es wird nicht funktionieren. Am Ende habe ich eine weitere Anfrage gemacht, um den gleichen Cookie mit dem Wert NULL zu erstellen. Nicht wirklich die beste Lösung, aber es funktioniert. –

+2

Während dies die richtige Richtung ist, hat Amirs Antwort unten das Schlüsselstück des Puzzles. Cookie :: forget() erstellt nur ein neues Cookie mit Nullwert und negativem Ablaufdatum - Sie müssen es noch immer an den Client senden, um den Cookie zu entfernen. – brism

+0

Crypt :: setKey (Config :: get ('app.key')); Wenn Sie Ihre eigenen Schlüssel in der Verschlüsselung verwenden, setzen Sie zuerst die app.key zurück. – Joeri