Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/264.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网页删除吗?_Php_Cookies - Fatal编程技术网

一个php网页创建的Cookie可以被另一个php网页删除吗?

一个php网页创建的Cookie可以被另一个php网页删除吗?,php,cookies,Php,Cookies,我创建了一个php网页,它创建了一个cookie。该网页将用户重定向到另一个php网页上。在第二个网页上,我试图删除第一个网页创建的cookie。但是cookie没有被删除。第二个网页显示错误,如无法修改标题信息 我删除该cookie的php代码格式如下: if(isset($_COOKIE['cookieName'])) { setCookie('cookieName','values',time()-3600,'/','example@domain.com',0); } 我希望你正在利用u

我创建了一个php网页,它创建了一个cookie。该网页将用户重定向到另一个php网页上。在第二个网页上,我试图删除第一个网页创建的cookie。但是cookie没有被删除。第二个网页显示错误,如无法修改标题信息

我删除该cookie的php代码格式如下:

if(isset($_COOKIE['cookieName']))
{
setCookie('cookieName','values',time()-3600,'/','example@domain.com',0);
}

我希望你正在利用unset

你喜欢这样吗

if(isset($_COOKIE['cookieName']))
{
unset($_COOKIE['cookieName']));
}

设置cookies是在HTTP头中完成的。此标题在页面的实际内容之前发送。因此,您只能取消设置尚未发送任何输出的cookie

这也在以下文件中说明:

与其他标头一样,cookies必须在您的任何输出之前发送 脚本这是一个协议限制。这就需要你的位置 在任何输出之前对此函数的调用,包括和 标记以及任何空格

例如:

<?php
    if (isset($_COOKIE['cookieName'])) {
        unset($_COOKIE['cookieName']);
        setcookie("cookieName", "", time()-3600);
    }
?>
<html>
  ....
</html>
另请看问题。

你能试试这个吗

 unset($_COOKIE['cookieName']);
 setcookie('cookieName', null, -1, '/');
路径: 服务器上的路径,cookie将在其中可用。如果设置为“/”,cookie将在整个域中可用。如果设置为“/foo/”,cookie将仅在/foo/目录和域的所有子目录(如/foo/bar/)中可用。默认值是设置cookie的当前目录

域:
cookie可用于的域。将域设置为“www.example.com”将使cookie在www子域和更高的子域中可用。可用于较低域(如“example.com”)的cookie将可用于较高的子域(如“www.example.com”)

请仔细阅读错误消息。它清楚地解释了setcookie调用失败的原因和位置。当然,你的问题的答案是,cookies不是只读的。那么我的问题的完整解决方案是什么?如何删除此cookie?@user3001654我添加了一个示例。这有用吗?是的,应该有用我明白你的意思。我希望今天我能实施它。谢谢