当我想要删除Cookie时,我会尝试
unset($_COOKIE['hello']);
我在firefox的cookie浏览器中看到cookie仍然存在。我怎么才能真正去掉饼干呢?
当我想要删除Cookie时,我会尝试
unset($_COOKIE['hello']);
我在firefox的cookie浏览器中看到cookie仍然存在。我怎么才能真正去掉饼干呢?
当前回答
你可以简单地使用这个自定义函数:
function unset_cookie($cookie_name) {
if (isset($_COOKIE[$cookie_name])) {
unset($_COOKIE[$cookie_name]);
setcookie($cookie_name, null, -1);
} else { return false; }
}
如果您想删除$_COOKIE['user_account']。 只使用:
unset_cookie('user_account');
其他回答
请参阅PHP文档中标记为“示例#2 setcookie() delete Example”的示例。要清除浏览器中的cookie,您需要告诉浏览器该cookie已经过期……然后浏览器将删除它。unset只是从cookie数组中移除'hello' cookie。
很简单!
setcookie("cookiename", "cookievalue", 1);
只要将cookie的值设置为false就可以取消设置:
setcookie('cookiename', false);
一个干净的删除cookie的方法是清除$_COOKIE值和浏览器cookie文件:
if (isset($_COOKIE['key'])) {
unset($_COOKIE['key']);
setcookie('key', '', time() - 3600, '/'); // empty value and old timestamp
}
如果你想从你当前的所有域中完全删除cookie,那么下面的代码一定会帮助你。
unset($_COOKIE['hello']);
setcookie("hello", "", time() - 300,"/");
这段代码将删除cookie变量完全从所有的域,即;" / " -它表示cookie变量的值为所有域设置,而不仅仅是当前域或路径。Time() - 300表示它设置为以前的时间,因此它将过期。
这就是它被完美删除的方式。