如果我使用以下基本代码
if (!defined('NAME_COOKIE') )
define('NAME_COOKIE', "storedusername");
$cookie_domain = ".".$_SERVER['HTTP_HOST'];
setcookie(NAME_COOKIE, $username,time() + (86400),"/", $cookie_domain);
print $_COOKIE[NAME_COOKIE];
脚本在打印期间因未定义的索引错误而死亡。我做错了什么?
答案 0 :(得分:22)
你的台词:
setcookie(NAME_COOKIE, $username,time() + (86400),"/", $cookie_domain);
print $_COOKIE[NAME_COOKIE];
这里发生的是你设置cookie,这意味着一个字符串被添加到标题中,随时可以随你的内容一起发送。
将此视为一个队列,只有在您发送内容时,队列才会进入浏览器。
由于你的cookie仍然在队列中,它实际上没有被设置,直到页面被发送并且你回想起页面,然后在回忆时,浏览器会将cookie信息发送回浏览器,浏览器又编译{{ 1}}数组。
试着这样想:
$_COOKIE
$_COOKIE
希望这有帮助。