日期:2014-05-17  浏览次数:20372 次

关于cookie在代码中执行的顺序问题?
<?php
setcookie("user","Dean",time()+100);
echo $_COOKIE['user'];
?>
为什么上面代码第一次执行的时候报user未定义错误,而第二次执行则能够取出user数据,什么情况,是不是cookie在程序中最后执行啊,但php语句块不是按从上到下顺序执行的吗?
php cookie 执行顺序

------解决方案--------------------
Cookie的配置与应用
    Setcookie(string name, string value, int expire,string path, string domain, int secure);
   (1)、必须在HTML文件的内容输出之前设置;
   (2)、不同的浏览器对Cookie的处理不一致,且有时会出现错误的结果。
   (3)、限制是在客户端的。一个浏览器能创建的Cookie数量最多为30个,并且每个不能超过4KB,每个WEB站点能设置的Cookie总数不能超过20个。
------解决方案--------------------
需要提醒的是:PHP的COOKIE第一次只是创建了这个COOKIE,再次刷新页面后才能使用这个值。


------解决方案--------------------
$_COOKIE 中保存的是浏览器传过来的 cookie

------解决方案--------------------
php的$_COOKIE创建后需要刷新页面才能用,所以同页面调用的话在echo之前写句代码刷新下页面就可以了