cookie求助:存入硬盘成功 但怎么读取不出来呢?
存储操作:1.SetCookie('DK_Auth',uc_authcode($uid."\t".$username, 'ENCODE'),time()+3600*0.5);
uc_authcode是一个加解密函数。
然后
2.empty($_COOKIE['DK_Auth']判断 返回值为true
很是纳闷呢!
时区是Asia/Shanghai.
症状:语句1,2分别位于两个php文件。
语句1之后马上echo $_COOKIE['DK_Auth']是有值的。 默认情况下不同控制器的不同方法 cookie 不能公用,因为 cookie 路径不同。
setcookie 的时候设置一下 cookie path to Hex:
我参考人家的代码,
SetCookie('DK_Auth',uc_authcode($uid."\t".$username, 'ENCODE'));
然后在另外一个文件中empty($_COOKIE['DK_Auth']
连本地cookie文件都没有写入。。。 不会是服务器设置的不同吧?
如果没有写入本地 那应该是出于内存中了?
还有既然不同的方法中设置cookie 要设置path那读取的时候也要设置path了?但是不管是ci的cookie辅助函数 还是php通过$_COOKIE['']来获取cookie好像都没有这个参数哇?
谢谢! To hex:
哥 神奇了! 我设置path为'/'后 就可以了
但是有个问题 我是本地测试的嘛 就是不知道这个cookie给存入到哪里了。 存在你的浏览器目录 呵呵,cookie path 问题导致 cookie 取不到我是亲身测试过的,所以基本上 cookie 取不到都是这个问题。
cookie 都存在浏览器端,用 firefox 很容易查看。 哥哥厉害 哈哈 Firefox有个Web Developer插件,可以直观的查看和删除Cookie,以及其他非常强大的调试功能,调试的时候非常方便。
https://addons.mozilla.org/zh-CN/firefox/addon/60 还有个问题:
我ci app里面维护了自己的cookie。。
我想在discuz论坛那里登陆之后 也实现ci app同步登陆。我是这么做的 在discuz登陆处理函数中写入同ci app相同的cookie 通过firefox查看 cookie已经写入了 但是却没有实现同步登陆。
不知道什么问题。。 但是这样的思路是可行的吧? 非常感谢yinzhili !
页:
[1]
2