【发布时间】:2012-01-01 18:18:40
【问题描述】:
以下代码第一次运行时,它没有回显“var1”值,但在浏览器刷新 (f5) 时会回显,为什么?据我了解,当浏览器将代码发送到服务器时,setcookie() 将 cookie 变量(“var1”)存储到本地文件中的客户端(浏览器),并通过 $_COOKIE superglobal 将“var1”值放在全局域中.
既然“var1”值在第一个服务器回复浏览器的初始请求后立即在 $_COOKIE 中可用,那么为什么“var1”没有回显出来。是否 setcookie() 在第一次请求时将“var1”值存储在客户端浏览器中,并且只有在刷新页面(第二次请求)时,浏览器才会将“var1”值发送回服务器,然后服务器使其在全局域中可用通过 $_COOKIE 函数。
代码
<?php
setcookie("var1","5");
echo $_COOKIE['var1'];
?>
请帮我解决这个问题。
谢谢 杰恩。
【问题讨论】:
-
另请参阅en.wikipedia.org/wiki/HTTP_cookie,了解有关 HTTP 与 cookie 的一些技术概述。
标签: php