我正在尝试使用以下代码删除域/路径中的所有Cookie:
if (isset($_SERVER['HTTP_COOKIE'])) {
$cookies = explode(';', $_SERVER['HTTP_COOKIE']);
foreach($cookies as $cookie) {
$parts = explode('=', $cookie);
$name = trim($parts[0]);
unset($_COOKIE[''.$name.'']);
setcookie($name, '', time()-1000);
setcookie($name, '', time()-1000, '/');
}
}
但它只删除了一些饼干和其他...我不明白为什么......请帮忙吗? 感谢
答案 0 :(得分:1)
必须使用与设置相同的参数删除Cookie 用。如果value参数是空字符串,或者为FALSE,则为all 其他参数匹配先前对setcookie的调用,然后是cookie 将从远程客户端删除具有指定名称的名称。这个 通过将值设置为“已删除”和到期来实现内部 过去一年的时间。
确保您拥有正确的cookie name
,并确保您获得了正确的path
Cookie。例如,如果在子目录中指定了cookie,则可能无法从父目录或子目录(或两者)中删除它。
您可能希望使用Web Developer Toolbar查看您尝试删除的cookie的路径。
如果您可以提供更多关于目前为止的示例,那么我可以通过一个关于您可以对代码执行的操作的示例来更新我的答案。
答案 1 :(得分:0)
找到它,域名(未指定)。另外还有一个。在域之前,似乎也很重要......