zhouli520 发表于 2011-3-25 14:53:46

ci2.0里,使用php的cookie函数,cookie无效了.

C层登陆:
setcookie ( "uid", $result->uid, time () + 5184000 );
setcookie ( "username", $result->username, time () + 5184000 );
V层判断:
if(isset($_COOKIE['username'])){
                                $u = $_COOKIE['username'];
                                echo '123'.$u;
                                }
到了V层cookie就无故消失了......

但是我如果不跳回V层,直接在C层输出的时候cookie还是存在的
setcookie ( "uid", $result->uid, time () + 5184000 );
                                setcookie ( "username", $result->username, time () + 5184000 );
                                if(isset($_COOKIE['username'])){
                                $u = $_COOKIE['username'];
                                echo '123'.$u;
                                }

这是怎么回事???

Hex 发表于 2011-3-25 15:04:56

注意 cookie 的 path !!!!
都设置 path 为 "/" 即可。

zhouli520 发表于 2011-3-25 15:21:26

回复 2# Hex


    果然........
还想请教下H大
我现在的2.0的ci session好像和我的1.72的ci session有冲突
就是我如果在1.72的项目里面登陆的话,2.0的项目里原本登陆后的状态会变成未登陆
反之亦然,就是只要其中一个登陆,另一个版本的项目里的登陆状态就会被清除.这是什么原因?

Hex 发表于 2011-3-25 15:34:56

域名不同就不会冲突,否则就要使用不同的 cookie 名字前缀才可以。
这个和 CI 无关,这是常规网站开发知识。

zhaoyulee 发表于 2011-8-28 18:03:28

Hex 发表于 2011-3-25 15:04 static/image/common/back.gif
注意 cookie 的 path !!!!
都设置 path 为 "/" 即可。

我今天也遇到了同样的问题。

可是,为什么要都设置成 "/" 呢?

落叶之影 发表于 2011-8-28 23:12:11

zhaoyulee 发表于 2011-8-28 18:03 static/image/common/back.gif
我今天也遇到了同样的问题。

可是,为什么要都设置成 "/" 呢?

代表根目录下所有子文件夹中的文件都能够继承并使用该COOKIE
否则默认只是在SETCOOKIE的那个文件的当前目录和子文件夹中才能使用

zhaoyulee 发表于 2011-8-29 11:29:21

落叶之影 发表于 2011-8-28 23:12 static/image/common/back.gif
代表根目录下所有子文件夹中的文件都能够继承并使用该COOKIE
否则默认只是在SETCOOKIE的那个文件的当前目 ...

哦,是这样,谢谢~{:1_1:}
页: [1]
查看完整版本: ci2.0里,使用php的cookie函数,cookie无效了.