setcookie未在PHP的浏览器中设置值

问题描述

我尝试在PHP中使用以下代码设置cookie,但是当我使用$str_zipcode = "20304"; setcookie("zipcode",$str_zipcode,2147483647); 检查时cookie没有显示

print_r($_COOKIE);

然后,我尝试使用PHP中的以下代码设置cookie,并且当我使用print_r($_COOKIE);检查时显示cookie,但是当我刷新浏览器或关闭并重新打开浏览器并使用$str_zipcode = "20304"; $_COOKIE['zipcode'] = $str_zipcode; 检查cookie值时,cookie却不显示显示,这意味着。不知道我在这代码中做错了什么。

PHP 7
Ubuntu 16.0
Mozilla Firefox 80.0.1

下面是我的笔记本电脑配置。

locationListener = new LocationListener() {
            @Override
            public void onLocationChanged(Location location) {}

编辑#1 我也检查了移动设备的chrome浏览器,其行为与我上面提到的笔记本电脑相同。

解决方法

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

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
    
}