setcookie未在PHP浏览器中设置值

setcookie未在PHP浏览器中设置值,php,Php,我尝试在PHP中使用下面的代码设置cookie,但当我使用print\r($\u cookie)进行检查时,cookie没有显示 然后我尝试在PHP中使用下面的代码设置cookie,当我使用print\r($\u cookie)进行检查时,cookie显示出来但当我刷新浏览器或关闭并重新打开浏览器并使用print\r($\u cookie)检查cookie值时然后cookie不显示,这意味着。不确定我在这段代码中做了什么错误 $str_zipcode = "20304"; $

我尝试在PHP中使用下面的代码设置cookie,但当我使用
print\r($\u cookie)进行检查时,cookie没有显示

然后我尝试在PHP中使用下面的代码设置cookie,当我使用
print\r($\u cookie)进行检查时,cookie显示出来但当我刷新浏览器或关闭并重新打开浏览器并使用
print\r($\u cookie)检查cookie值时然后cookie不显示,这意味着。不确定我在这段代码中做了什么错误

$str_zipcode = "20304";
$_COOKIE['zipcode'] = $str_zipcode;
下面是我的笔记本电脑配置

PHP 7
Ubuntu 16.0
Mozilla Firefox 80.0.1
编辑#1
我也登录了mobile的chrome浏览器,它的行为与我在笔记本电脑上提到的相同。

cookie的最后一个参数是它的过期日期: 例如:


检查浏览器设置,确保关闭时未将其设置为清除cookies。确保您没有使用私人浏览。这是否回答了您的问题@这似乎不是问题所在。这是关于在同一脚本过程中检查
$\u COOKIE
,但这个问题是关于刷新页面的。这是您的问题。这是因为设置cookie是一个header函数,所以在设置cookie之前,您已经发送了一个header。这可能与头重定向或其他内容有关。若您删除上一个标题,您的cookie将被设置。@SJacks,现在当我在页面上的2个重定向之前移动整个代码时,cookie就可以工作了。谢谢你的帮助
PHP 7
Ubuntu 16.0
Mozilla Firefox 80.0.1
if(!isset($_COOKIE[$cookie_name])) {
    echo "Cookie named '" . $cookie_name . "' is not set!";
} else {
    $cookie_name = "user";
    $cookie_value = "John Doe";
    setcookie($cookie_name, $cookie_value, time() + (86400 * 30), "/"); // 86400 = 1 day
    
}