我使用此代码来取消设置我的cookie(感谢Stack)
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, '/');
}
但这也取消了设置我的CCD_ 1。怎么可能呢?
dude会话也存储为cookie值,该cookie值在页面或浏览器终止时结束。。
而不是取消设置每个cookie是选择性
(即)
如果要删除名为用户的cookie
setcookie("user", "", time()-3600); //deletes only that cookie
您可以使用print_r($_COOKIE);
功能查看设置了哪些cookie。。。
这就是浏览器记忆会话的方式。。有两种方法可以传播会话id:1.Cookie2.URL参数
如果你不想要饼干。。您可以在Url中传递会话id,并可以在PHP.ini 中设置名称和参数
这是因为会话的工作方式是在用户计算机上存储会话id,然后使用该id来识别用户并查找存储在服务器上的相关系统数据。
请参见此处:http://www.lassosoft.com/Tutorial-Understanding-Cookies-and-Sessions
我认为当您删除cookie时,您正在删除会话id。当您循环浏览cookie时,请尝试识别会话id,并设置if-ststement以避免删除会话。