1、PHP中的cookie路径问题
cookie保存时是有路径的,在访问子路径时,会包含其父路径的Cookie,而在访问父路径时,不包含子路径的Cookie。
比如:
- http://localhost/Index 目录下的cookie,c1;
- http://localhost/Index/glist 目录下的cookie,c2;
如果访问地址1,那么只能访问c1,而访问不了c2,访问目录2时可以同时访问c1和c2。所以如果在开发过程中读取不了cookie的值,那么就看看cookie的路径
2、Thinkphp3.2.3中的cookie和session
- Thinkphp中cookie的默认保存位置是"/"根目录,可以通过配置里COOKIE_PATH进行修改;
- cookie(‘name’,’’)和session(‘name’,’’)不会保存,我试了几次,发现Thinkphp中cookie和session不能保存空值;
- cookie(null); // 清空当前设定前缀的所有cookie值,注意只删除设定有前缀的cookie,如果没有设定前缀则不删除
cookie(null,‘think_’); // 清空指定前缀的所有cookie值; - 在模板中用I方法调用session数组,I方法不支持两个"."操作,所以{:I(‘session.user.userid’)}是不行的,需要这样调用:{:I(‘session.user’)[‘userid’]}
3、thinkphp中碰到的问题
- save方法的返回值是影响的记录数,如果返回false则表示更新出错,因此一定要用恒等来判断是否更新失败。如果更新的内容和原数据库里的内容一样,那么返回的影响记录数为0,所以不能用if(result)来判断是否更新成功。
本文探讨了PHP中cookie路径问题,指出在访问不同路径时对cookie的访问限制,并提供了解决读取不到cookie值的建议。接着,详细介绍了Thinkphp3.2.3框架中cookie和session的使用,包括设置、清除以及注意事项,如不能保存空值。最后,提到了Thinkphp的save方法返回值的判断技巧,强调了正确检查更新操作是否成功的标准。

1926

被折叠的 条评论
为什么被折叠?



