PHP不同目录页面,cookie如何设置路径才能A创建cookie,B修改cookie

WBOY
Release: 2016-06-20 12:42:35
Original
1505 people have browsed it

问题描述如下:

目录
/A.PHP
/PP/B.PHP

A.PHP
$aa="yes";
setcookie("coo",$aa,time()+3600);
<script> <br />通过$.post调用了B.PHP <br />success : function 中获取返回值弹窗 <br /></script>


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的路径都设置成‘/’就好了,结帖,谢谢大神

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!