cookie保存时路径对php的影响...
时间:2010-08-08 来源:leohainuo
现将环境公布
/index.php
/a/index.php
/b.php
程序代码 /index.php $a=$_COOKIE['a'];if($a){setcookie('b','xxxx',time()+3600);header ("location:/b.php");}
/a/index.php setcookie('a','aaaaa',time()+3600);
/b.php if($_COOKIE['b']) echo $b;
代码如上 大家应该大体看出具体使用方式 就是 先访问/a/index.php 文件 生成一个cookie 页面自动跳转到/index.php页面,在/index.php文件中检查是否已经cookie中是否有a的值,如果有 生成一个b的cookie 跳转到/b.php 这个时候检查cookie有无b有的话输出。
在以上的例子中将会出现这样的问题:在/index.php运行时始终发现不了cookie中有a 这是为什么呢。在我将a的cookie如下定义时却能够读取到信息
setcookie('a','aaaaa',time()+3600,'/');
看下图
简单的比较就可以知道 两个不错 一个路径为/a 一个路径为/
这说明调用$_COOKIE 的时候 会出现问题。 所以为了保持cookie一致性 我们在定义cookie的时候一定要定义cookie的保存位置。防止因为位置不同调用不出来。
这就是菊子曰啦!