PHP - setcookie没有生效

时间:2012-05-22 14:29:40

标签: php cookies

<?php
    setcookie("name", "abc");
    echo $_COOKIE["name"];
?>

当我重新加载此页面时,它在屏幕上不显示任何内容。为什么呢?

但重新加载,显示abc。

WHY ??

2 个答案:

答案 0 :(得分:11)

设置cookie时,在下一页加载之前它不可用。

这一点在the documentation中非常明确,你应该阅读。

  

设置好Cookie后,可以使用$ _COOKIE或$ HTTP_COOKIE_VARS数组在下一页加载上访问这些Cookie。注意,$ _COOKIE等超级全局变量在PHP 4.1.0中可用。 Cookie值也存在于$ _REQUEST。

  

在下次加载可以看到Cookie的网页之前,Cookie才会显示。要测试cookie是否已成功设置,请在cookie过期前检查下一个加载页面上的cookie。过期时间通过expire参数设置。调试cookie存在的一种好方法是简单地调用print_r($ _ COOKIE);。

答案 1 :(得分:0)

Cookie是作为网页HTTP响应的一部分发送的,因此只有在发送之后它们才会存在。这就是为什么你必须重新加载页面才能看到价值。