PHP Cookies are not being set


PHP Cookies are not being set

我在设置cookie时遇到问题。问题是我的cookie甚至没有被设置,我在下面设置了一个测试,看看它们是否被设置,但它们从未被设置。我甚至检查了我的浏览器,看看是否有什么设置,但我的网站上什么都没有。

我希望你能帮我做一套饼干。我不太确定该怎么办。谢谢。

这是我的代码:

<?php 
session_start();
setcookie("ridArray","", time()+3600);
if (isset($_COOKIE['ridArray'])) {
    echo "ridArray is set.";    
}
?> 
<head>
</head>
<html> 
<body>
<?php
if (isset($_COOKIE['ridArray'])) {
    echo "ridArray is set.";    
} else { echo "not set"; } 
?> 
</body>
</html> 

这是SetCookie文档中的问题:

Cookie必须使用与设置时相同的参数删除。如果value参数是空字符串或FALSE,并且所有其他参数都与以前对setcookie的调用相匹配,则具有指定名称的cookie将从远程客户端中删除。这是通过将值设置为"已删除"和将过期时间设置为过去一年在内部实现的。

您正在将cookie值设置为空字符串(")。尝试:

setcookie("ridArray","not blank value", time()+3600);

另一个问题是,当您设置cookie时,在下一页加载之前,它不会出现在请求标头中(通过$_cookie访问)。这意味着当您第一次加载该页面时,将不会设置$_COOKIE['ridArray']。在随后的加载中,它将被设置,并且每次都会重置。

首页加载,不会设置。刷新,它将被设置。

调试cookie最简单的方法是使用Chrome的开发工具或Firefox的FireBug,并查看SetCookie标头的响应标头和请求标头,以查看浏览器正在发送哪些cookie。