在PHP中删除JavaScript会话Cookie
问题描述:
浏览器关闭时,“浏览器”会话cookie被删除。 在JavaScript中设置“浏览器”会话cookie时,不包含过期日期。在PHP中删除JavaScript会话Cookie
document.cookie= "MyCookieName = MyValue; path=/";
我想在php中删除一个“浏览器”会话cookie。 我已经试过这样:
setcookie('MyCookieName','', time() - 3600,'/');
不幸的是,该cookie没有被清除。
答
首先,我不认为它有什么区别如何创建cookie(JS或PHP)。
您不能强制浏览器删除cookie文件。但是,您可以删除Cookie的内容并使其到期。上面的代码就是你正在做的事情。我可能会稍微调整它:
setcookie('MyCookieName', '', 1, '/'); // no need to calculate one hour ago.
假设cookie的有一定的价值,你可以检查你的代码生效:
if ($_COOKIE["MyCookieName"] == '') {
echo 'cookie was deleted';
}
文件仍然不会被删除,直到用户虽然关闭了浏览器。
还有一件事要检查以上不起作用的是cookie路径(setcookie()
中的第四个参数,可能只设置cookie,例如对于/blog
,您应该能够推断出这一点通过使用Safari webkit开发者工具或类似的东西来检查cookie。
Cookie是否位于同一个域? – 2013-02-20 21:49:47
它看起来是这样的 – 2013-02-20 21:49:57
您确定它没有被删除,刷新页面吗? – 2013-02-20 21:50:24