2013-06-19 122 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