2011-09-23 60 views
1

为什么Cookies不在php中存储信息?Cookie不在php中存储信息?

即使在这种简单的代码..

<? 
    setcookie("test","Cookies teso"); 
    echo "My cookie value: ".$_COOKIE["test"]; 
?> 
+1

off主题:请注意,您应该使用长版PHP标签 - 即'<?php'而不是'<?'。当前版本的PHP默认不允许使用较短版本,因此,您的代码在某些PHP服务器上可能根本无法使用。 – Spudley

回答

6

它们将在下一页加载。从documentation

饼干不会变得可见,直到页面 饼干应该是可见的未来负载。要测试cookie是否成功设置,请在Cookie 过期之前检查下一个加载页面上的cookie。过期时间通过expire参数设置。通过简单地调用 print_r($ _ COOKIE);来调试存在的Cookie的一个不错的方法是 ;.

请注意,您需要设置饼干任何其他脚本输出之前完成:

像其他头,饼干必须发送之前任何输出从您的 脚本(这是协议限制)。这要求您在任何输出之前将 调用放入此函数,包括 标记以及任何空格。

5

页面需要刷新。

$_COOKIE从脚本执行开始就从您的浏览器中拥有cookie。 setcookie()在浏览器中设置信息,但该信息尚未在$_COOKIE阵列中。它会在下一页加载,虽然