用户
 找回密码
 入住 CI 中国社区
搜索
查看: 7220|回复: 11
收起左侧

[已解决] cookie求助:存入硬盘成功 但怎么读取不出来呢?

[复制链接]
发表于 2010-1-13 14:14:22 | 显示全部楼层 |阅读模式
存储操作:
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']是有值的。
发表于 2010-1-13 14:26:04 | 显示全部楼层
默认情况下不同控制器的不同方法 cookie 不能公用,因为 cookie 路径不同。
setcookie 的时候设置一下 cookie path
 楼主| 发表于 2010-1-13 14:33:47 | 显示全部楼层
to Hex:
我参考人家的代码,
SetCookie('DK_Auth',uc_authcode($uid."\t".$username, 'ENCODE'));

然后在另外一个文件中empty($_COOKIE['DK_Auth']

连本地cookie文件都没有写入。。。 不会是服务器设置的不同吧?

如果没有写入本地 那应该是出于内存中了?

还有既然不同的方法中设置cookie 要设置path  那读取的时候也要设置path了?但是不管是ci的cookie辅助函数 还是php通过$_COOKIE['']来获取cookie  好像都没有这个参数哇?
谢谢!
 楼主| 发表于 2010-1-13 14:46:44 | 显示全部楼层
To hex:
哥 神奇了! 我设置path为'/'后 就可以了

但是有个问题 我是本地测试的嘛 就是不知道这个cookie给存入到哪里了。
发表于 2010-1-13 15:15:24 | 显示全部楼层
存在你的浏览器目录
发表于 2010-1-13 15:44:21 | 显示全部楼层
呵呵,cookie path 问题导致 cookie 取不到我是亲身测试过的,所以基本上 cookie 取不到都是这个问题。

cookie 都存在浏览器端,用 firefox 很容易查看。
 楼主| 发表于 2010-1-13 15:53:36 | 显示全部楼层
哥哥厉害 哈哈
发表于 2010-1-13 15:58:03 | 显示全部楼层
Firefox有个Web Developer插件,可以直观的查看和删除Cookie,以及其他非常强大的调试功能,调试的时候非常方便。

https://addons.mozilla.org/zh-CN/firefox/addon/60
 楼主| 发表于 2010-1-13 16:05:09 | 显示全部楼层
还有个问题:
我ci app里面维护了自己的cookie。。
我想在discuz论坛那里登陆之后 也实现ci app同步登陆。我是这么做的 在discuz登陆处理函数中写入同ci app相同的cookie 通过firefox查看 cookie已经写入了 但是却没有实现同步登陆。
不知道什么问题。。 但是这样的思路是可行的吧?
 楼主| 发表于 2010-1-13 16:11:38 | 显示全部楼层
非常感谢yinzhili !

本版积分规则