在 PHP 中删除 JavaScript 会话 Cookie [重复]
Posted
技术标签:
【中文标题】在 PHP 中删除 JavaScript 会话 Cookie [重复]【英文标题】:Delete JavaScript Session Cookie in PHP [duplicate] 【发布时间】:2013-02-06 02:04:39 【问题描述】:“浏览器”会话 cookie 在浏览器关闭时被删除。 在 javascript 中设置“浏览器”会话 cookie 时,不包括到期日期。
document.cookie= "MyCookieName = MyValue; path=/";
我想删除 php.ini 中的“浏览器”会话 cookie。 我试过这个:
setcookie('MyCookieName','', time() - 3600,'/');
很遗憾,cookie 没有被删除。
【问题讨论】:
cookie是否在同一个域下? 确定没有被删除,刷新页面? 你可以用ajax检查是否isset php session cookie 【参考方案1】:首先,我认为 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 来推断这一点。
【讨论】:
以上是关于在 PHP 中删除 JavaScript 会话 Cookie [重复]的主要内容,如果未能解决你的问题,请参考以下文章
在PHP和JavaScript中设置Cookie会话存储(SessionStorage)和本地存储(LocalStorage)