我想知道当用户单击注销时,我是否可以删除我网站的所有cookie,因为我使用此函数删除cookie,但它不能正常工作:
setcookie("user",false);
有没有办法在PHP中删除一个域的cookie?
发布于 2010-02-22 19:40:11
从该页面获取,这将取消设置您的域的所有cookies:
// unset cookies
if (isset($_SERVER['HTTP_COOKIE'])) {
$cookies = explode(';', $_SERVER['HTTP_COOKIE']);
foreach($cookies as $cookie) {
$parts = explode('=', $cookie);
$name = trim($parts[0]);
setcookie($name, '', time()-1000);
setcookie($name, '', time()-1000, '/');
}
}
发布于 2010-02-22 19:41:26
$past = time() - 3600;
foreach ( $_COOKIE as $key => $value )
{
setcookie( $key, $value, $past, '/' );
}
然而,更好的做法是记住(或将其存储在某个地方)哪些cookie是在域上的应用程序中设置的,并直接删除所有这些cookie。
这样,您就可以确保正确删除所有值。
发布于 2012-07-09 02:24:44
我同意上面的一些答案。我只建议将"time()-1000“替换为"1”。值"1“表示1970年1月1日,可确保100%过期。因此:
setcookie($name, '', 1);
setcookie($name, '', 1, '/');
https://stackoverflow.com/questions/2310558
复制相似问题