取消设置cookie也取消设置我的会话


unset of cookie also unset my session

我使用此代码来取消设置我的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。。。

会话为浏览器生成会话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以避免删除会话。