2013-06-19 117 views
11

如何在Laravel 4中刪除或銷燬cookie?未設置Cookie Laravel 4

我已經使用了下面的代碼創建它:

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

但最後,我要摧毀這個數據。

我該怎麼做?

回答

24

你有使用Cookie的::忘記這樣的:

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

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

記得你必須始終以響應返回cookie,它不喜歡硒裂變。

2

Im相當肯定其forget()方法..

所以你的情況....當$餅乾被做它被賦予一個名字,正好被清除它像這樣

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

我試過這樣(它應該工作,因爲它在文檔中),但它不會工作。最後,我做了另一個請求來設置值爲NULL的同一個cookie。不是最好的解決方案,但它的工作原理。 –

+2

雖然這是正確的方向,但Amir的答案是難題的關鍵部分。 Cookie :: forget()只會生成一個空值和負過期的新cookie - 您仍然必須將其發送給客戶端以刪除其Cookie。 – brism

+0

Crypt :: setKey(Config :: get('app.key')); 在加密中使用自己的密鑰時,請首先重置app.key。 – Joeri