<?php
setcookie("name", "abc");
echo $_COOKIE["name"];
?>
当我重新加载此页面时,屏幕上什么也没有显示。为什么?
但再次重新加载,显示 abc。
为什么??
当您设置 cookie 时,它在下一页加载之前不可用。
这在文档中非常清楚地列出,您应该阅读。
一旦设置了 cookie,就可以在下一页加载时使用 $_COOKIE 或 $HTTP_COOKIE_VARS 数组访问它们。注意,像 $_COOKIE 这样的超全局变量在 PHP 4.1.0 中可用。Cookie 值也存在于 $_REQUEST 中。
和
直到下次加载 cookie 应该可见的页面时,cookie 才会变得可见。要测试 cookie 是否设置成功,请在 cookie 过期之前检查下一个加载页面上的 cookie。过期时间通过 expire 参数设置。调试 cookie 存在的一个好方法是简单地调用 print_r($_COOKIE);。
Cookie 会作为您页面的 HTTP 响应的一部分发送,因此在您发送响应之前它们不存在。这就是为什么您必须重新加载页面才能看到该值。