Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/251.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
删除php中的cookie_Php_Cookies_Session Cookies - Fatal编程技术网

删除php中的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

我正在尝试删除一个cookie

我使用的是
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。如果您同意向阿博夫方向移动