2 回答

TA贡献1883条经验 获得超3个赞
使用该功能实际上没有任何意义。您可以只使用empty(),它会检查它是否已设置以及是否包含值。现在,您只是在检查任何类型的 cookie。专注于找出你是否$_COOKIE['id']包含任何值,不要试图用这样的函数来幻想。
if(empty($_COOKIE['id']){
die("No cookie");
}
setcookie 需要两个参数,其余的都是可选的。您的第三个参数不正确,您需要使用time() + (int)int 以秒为单位并使用 Unix 时间戳。
无论脚本返回什么,AJAX 请求都会返回成功,因此在 AJAX 请求上返回 false 仍被视为成功。只有当脚本执行失败(500 个错误)时,它才会返回错误。因此,无论是否设置了 cookie,您都会被重定向。
也尽量不要使用整数值,在它周围加上引号,或者将它存储在一个变量中。
setcookie('id', '1') ;
或者
$num = 1;
$time = (24 * 60 * 60); // one day
setcookie('id', $num, $time);
如果您仍然遇到问题,我建议您查看一些有关设置 cookie 的文档:https : //www.php.net/manual/en/function.setcookie.php https://www.w3schools.com/php/php_cookies。 ASP

TA贡献2041条经验 获得超4个赞
第三个参数错误。您必须这样设置,cookie 将在接下来的 60 分钟内可用。您还需要第四个参数,以使 cookie 在整个域中可用。
setcookie('id', 1, time() + 60, '/');
- 2 回答
- 0 关注
- 226 浏览
添加回答
举报