[英]Cookie won't delete (php)
我正在尝试使用以下代码从域/路径中删除所有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, '/');
}
}
但是它只删除了一些cookie和其他cookie……我不明白为什么……有什么帮助吗? 谢谢
Cookies必须使用与设置时相同的参数删除。 如果value参数是一个空字符串或FALSE,并且所有其他参数都匹配对setcookie的先前调用,则具有指定名称的cookie将从远程客户端中删除。 这是通过将值设置为“已删除”并将过期时间设置为过去一年来在内部实现的。
确保您具有正确的cookie name
,并确保您具有正确的cookie name
path
。 例如,如果cookie是在子目录中指定的,则您可能无法从父目录或子目录(或两者)中将其删除。
您可能要使用Web Developer Toolbar来查看您要删除的cookie的路径。
如果您可以提供更多到目前为止的示例,那么我可以使用示例来更新您的答案,您可以使用自己的代码进行操作。
找到它,域(未指定)。 另外还有一个。 在领域之前,似乎也很重要...
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.