在刷新网页之前不会设置Cookie

时间:2012-11-27 09:50:46

标签: php cookies

  

可能重复:
  Can’t set PHP cookie on the same page

我有以下代码:

    <?php
    $value = 'something from somewhere';

    setcookie("TestCookie1", $value);
    setcookie("TestCookie2", $value, time()+3600);  /* expire in 1 hour */
    setcookie("TestCookie31", $value, time()+3600);

     echo "<pre>";
     print_r($_COOKIE);
     echo "</pre>";


     ?>

当我第一次在浏览器中看到上面的代码时它只打印空白数组,但只有在下次刷新页面时才会显示。如何在第一次运行网页时显示cookie。 感谢

2 个答案:

答案 0 :(得分:1)

是的,确切地说,这是它的工作原理。它甚至在手册中提到过。 $_COOKIE包含此请求的的Cookie ,而不是您要在响应中发送回客户端的任何Cookie。

由于您只是设置值,您应该知道它们是什么,因此在给定此限制的情况下,您无法做任何事情。

答案 1 :(得分:0)

设置cookie会将cookie添加到响应中,以便客户端/浏览器知道页面显示的时刻。 $ COOKIES从请求中获取其Cookie。它只包含浏览器/客户端已有的cookie。