这有点奇怪,但我设置了一个cookie:
setcookie('auth', 'ok', time() + 3600, "/");
结果:
Name: auth
Content: ok
Domain: --.com
Path: /
Send for: Any kind of connection
Accessible to script: Yes
Created: Tuesday, July 11, 2017 at 11:00:23 PM
Expires: Wednesday, July 12, 2017 at 12:00:23 AM
它工作正常,但是当我想删除此cookie时:
setcookie('auth', 'ok', time() - 3600, "/");
unset($_COOKIE['auth']);
结果没有变化,cookie也没有被删除,我仍然在浏览器中找到了这个cookie。
Cookie在此网址中创建:
auth.php?行动=确认
并使用ajax
调用函数:
模型/ auth.php
它应该在此网址中删除它:
auth.php?行动=注销
但它不起作用。有什么想法吗?
答案 0 :(得分:0)
删除cookie的一种简洁方法是清除$ _COOKIE值和浏览器cookie文件:
if (isset($_COOKIE['auth'])) {
unset($_COOKIE['auth']);
setcookie('auth', '', time() - 3600, '/'); // Empty value and old timestamp
}
答案 1 :(得分:0)
您很可能在销毁Cookie之前输出了一些数据。
尝试检查一下,在任何输出之前使用此代码:
setcookie("auth", "", time()-3600);
使用此$sent = headers_sent($file, $line);
,您可以查看在尝试销毁Cookie之前是否已输出某些数据。