问题描述如下:
目录
/a.php
/pp/b.php
a.php
$aa=yes;
setcookie(coo,$aa,time()+3600);
b.php
$bb=no;
setcookie(coo,$bb.time()+3600)
echo $_cookie['coo'];
我本以为这样可以做到 弹窗输出 是no
结果出来的居然是yes
十分不解,想问各位大神是否是路径问题导致的呢?
回复讨论(解决方案) 对,是路径问题
/a.php 中设置的 cookie 路径默认为 /
/pp/b.php 中设置的 cookie 路径默认为 /pp/
另外,/pp/b.php 中刚设置的 cookie,要到下一次访问时 $_cookie 才有值
对,是路径问题
/a.php 中设置的 cookie 路径默认为 /
/pp/b.php 中设置的 cookie 路径默认为 /pp/
另外,/pp/b.php 中刚设置的 cookie,要到下一次访问时 $_cookie 才有值
大神我初学,只会设置到时间,路径的话看网上说的挺含糊的那两个路径参数怎么写呢,我想在b里面路径设置在a那里,让b修改a生成的cookie。 $bb=no;
setcookie(coo,$bb.time()+3600 , '/')
谢大神指点迷津……
$bb=no;
setcookie(coo,$bb.time()+3600 , '/')
今天又试了一下
a.php
setcookie('coo','aa',time()+3600,'/');
b.php
echo $_cookie['coo'];
setcookie('coo','bb','3600');
echo $_cookie['coo'];
运行a
运行b
输出 bbbb
/*b明明是先输出再修改,再输出,为啥都是修改后的结果?*/
再次运行b
输出aaaa
/*为啥又变回去了呢*/
再次运行b
输出aaaa
/*居然不能再次修改了*/
再次运行a
运行b
输出bbbb
我这是遇到什么情况了呢?
大神不好意思还要麻烦你 ab的路径都设置成‘/’就好了,结帖,谢谢大神