我已成功设置了Cookie cad
,可以在firefox cookie-search中看到它。
if(isset($_COOKIE['cad'])){
echo'YES';
}else{
echo'NO';
}
//parse NO
我在托管服务器上设置我的网站,即将从另一台服务器进行更改,因此服务器是site.com.test.host.com。这会产生调用cookie的问题吗?
但与此相反的是print_r($_COOKIE);
在同一测试域中显示其他Cookie。
答案 0 :(得分:3)
设置Cookie时,您可以设置各种选项。众所周知,Cookie只能通过同一域中的脚本访问,但您也可以影响设置cookie的路径。例如,可能无法在/foo/bar.php
上访问/foobar.php
上设置的Cookie。
PHP默认将cookie设置为当前路径。因此,在上面的示例中,cookie被设置为路径/foo/
,并且在该路径之外无法访问。
因此,当您设置Cookie时,最好明确说明您希望它们可用的位置。在PHP中,这很容易;只需设置一个指定路径的额外参数。正如您在评论中指出的那样,您需要最自由的路径/
,这意味着“在此域上的任何位置”。
setcookie('cad', 'somevalue', 0, '/');