当前位置:Gxlcms >
PHP教程 >
PHP不同目录页面,cookie如何设置路径才能A创建cookie,B修改cookie
PHP不同目录页面,cookie如何设置路径才能A创建cookie,B修改cookie
时间:2021-07-01 10:21:17
帮助过:23人阅读
问题描述如下:
目录
/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的路径都设置成‘/’就好了,结帖,谢谢大神