当我记录我今天的发现的时候,我首先很感激那些只做开发员工具的人员
我在只做留言板的时候,增加了一个设置回执查询编号的功能,使用该编号可以查询到所有使用该编号的留言,无论是否隐藏。我希望时候cookies写入一个时间,并设置60秒后过期,这样,如果我在设置查询回执编号的页面,如果指定cookies还存在,就让他设置,否则就显示超时(当然存在一系列可能利用的问题,当由于本人技术原因,所以请不要对此砰口水)。
在编写代码的时候,我发现一个问题,我添加留言的时候设置的cookies居然在设置回执编号页面无法调用出来。
谷歌浏览器有一个功能,在“选项”-“高级选项”-“内容设置”-“Cookie”-“所有Cookie和网站数据”,找到你的域名,然后查看cookies是否写入
在测试中,我惊奇的发现,居然有两个名字一样的cookie,仅仅是路径不同,我醒悟过来,是不是
- <?php
- setcookie("messagetime",time(),time()+60);
- ?>
写法无法跨目录调用呢。在搜索引擎中搜索,并没有找到答案(可能是我用的百度的原因),我想起了手册,貌似手册中cookie还有可选设置。
在PHO手册中知道,后面还可以跟两个值,一个是路径,一个是域,而路径"/"也是相当于域,于是我修改为
- <?php
- setcookie("messagetime",time(),time()+60,"/");
- ?>
,OK了
其实是一个很简单的问题,只是以为cookie和session作用范围一样,才导致这个错误