删除php中的cookie
我正在尝试删除一个cookie 我使用的是删除php中的cookie,php,cookies,session-cookies,Php,Cookies,Session Cookies,我正在尝试删除一个cookie 我使用的是setcookie(“PHPSESSID”,“time()-6400”)可以很好地删除cookie 然而,它并没有被完全删除。当查看firebug时,在“响应头”下,cookie被删除。但是,在“请求头”下,cookie不会被删除(这会影响代码行为) 我如何删除(或修改,或访问)其他cookie 谢谢 使用setcookie(“PHPSESSID”,time()-6400)使cookie像2小时前一样过期, 尝试使用setcookie(“PHPSESSI
setcookie(“PHPSESSID”,“time()-6400”)
可以很好地删除cookie
然而,它并没有被完全删除。当查看firebug时,在“响应头”下,cookie被删除。但是,在“请求头”下,cookie不会被删除(这会影响代码行为)
我如何删除(或修改,或访问)其他cookie
谢谢 使用setcookie(“PHPSESSID”,time()-6400)代码>使cookie像2小时前一样过期,
尝试使用setcookie(“PHPSESSID”,1)代码>在1970年1月1日到期
如果这不起作用,您可以尝试在路径中添加如下内容setcookie(“PHPSESSID”,“time()-6400”,“/”)代码>
您可以尝试从中删除所有Cookie,但我很抱歉,因为这似乎是某种超级Cookie,谁知道
// 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, '/');
}
}
使用setcookie(“PHPSESSID”,“time()-6400”)代码>使cookie像2小时前一样过期,
尝试使用setcookie(“PHPSESSID”,1)代码>在1970年1月1日到期
如果这不起作用,您可以尝试在路径中添加如下内容setcookie(“PHPSESSID”,“time()-6400”,“/”)代码>
您可以尝试从中删除所有Cookie,但我很抱歉,因为这似乎是某种超级Cookie,谁知道
// 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, '/');
}
}
您可能还想通过添加一个
unset($_COOKIE['PHPSESSID']);
在下一行。但是,这只会影响当前加载的页面。您可能还需要通过添加
unset($_COOKIE['PHPSESSID']);
在下一行。但是,这只会影响当前加载的页面。请参见此处的示例1以删除和销毁会话:
首先取消设置cookie,然后销毁会话。请参见此处的示例1以删除和销毁会话:
首先取消设置cookie,然后销毁会话。此代码可以解决此问题:
session_start(); // initialize session
session_destroy(); // destroy session
setcookie("PHPSESSID","",time()-3600,"/"); // delete session cookie
此代码可以解决此问题:
session_start(); // initialize session
session_destroy(); // destroy session
setcookie("PHPSESSID","",time()-3600,"/"); // delete session cookie
我的注销代码遇到了这样的问题,经过艰苦的工作和研究,我自己终于解决了这个问题,并使用javascript解决了这个问题
您可以使用下面的脚本在客户端轻松地完成此操作,
您可能需要更改路径和主机的值:
document.cookie = "PHPSESSID=; expires=Thu, 01 Jan 1970 00:00:00 UTC;path=/;host=localhost";
我的注销代码遇到了这样的问题,经过艰苦的工作和研究,我自己终于解决了这个问题,并使用javascript解决了这个问题
您可以使用下面的脚本在客户端轻松地完成此操作,
您可能需要更改路径和主机的值:
document.cookie = "PHPSESSID=; expires=Thu, 01 Jan 1970 00:00:00 UTC;path=/;host=localhost";
你的最终目标是什么?php有session\u destroy()
调用setcookie()
删除PHPSESSID
的页面是否也碰巧调用了顶部的session\u start()
?如果是这样,当页面重新加载时,cookie将被重置。它究竟如何影响代码行为?cookie并不是真的删除,而是可以设置为过期。在客户端之前,终止cookie不会生效。您是说您可以访问cookie客户端,还是在后续请求时访问服务器?您是否在删除cookie的同一请求中启动会话?@LucyWeatherford删除请求头中的cookie没有意义。一旦PHP运行,请求头就没有意义了。它们已经发送到您的服务器。似乎这个问题被误解了。我们都解释了删除cookies的方法。我会认为Firebug是错误的,或者这不能过期/删除。你的最终目标是什么?php有session\u destroy()
调用setcookie()
删除PHPSESSID
的页面是否也碰巧调用了顶部的session\u start()
?如果是这样,当页面重新加载时,cookie将被重置。它究竟如何影响代码行为?cookie并不是真的删除,而是可以设置为过期。在客户端之前,终止cookie不会生效。您是说您可以访问cookie客户端,还是在后续请求时访问服务器?您是否在删除cookie的同一请求中启动会话?@LucyWeatherford删除请求头中的cookie没有意义。一旦PHP运行,请求头就没有意义了。它们已经发送到您的服务器。似乎这个问题被误解了。我们都解释了删除cookies的方法。我会认为Firebug是错误的,或者这不能过期/删除。不是一样吗?我认为将cookie设置回时间会破坏它,无论时间跨度是多少,这两个选项都不起作用。同样,所有发生的事情都是删除了“响应头”cookie,但“请求头”cookie没有更改(这不是一样吗?我认为及时设置cookie会破坏它,不管时间跨度是多少。两个选项都不起作用。同样,所有发生的事情是“响应标头”cookie被删除,但“请求标头”cookie保持不变。)(我也试过了,但没有成功-再次,正在删除响应头
cookie,但是请求头
cookie不可用。这只会更改全局变量$\u cookie['PHPSESSID'],而不是实际的cookie。我也尝试过,但没有成功-再次,正在删除响应标头
cookie,但请求标头
cookie不是。这只会更改全局变量$\u cookie['PHPSESSID'],而不是实际的cookie。不。这不起作用,“请求标头”cookie仍然有效unchanged@LucyWeatherford“请求头”的过期时间是多少cookie?若要删除cookie,您必须通过请求标头将同名cookie从服务器发送到过期日期的浏览器。重要的是,您是否可以访问此cookie客户端?客户端是否在下一个请求中继续发送此cookie?如果回答为否,则删除您的cookie。如果您同意向阿博夫方向移动