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

[HELP] cookie

[复制链接]
发表于 2009-7-17 08:37:44 | 显示全部楼层 |阅读模式
在ci的model下设置cookie
function setc(){
  $value="this is a cookie";
  setcookie('jack',$value,time()+11234523);
}
在调用这个model的controller Welcome里面能访问到cookie的值
function index()
{
  $this->dbm->setc();
}
function two(){
  echo $_COOKIE['jack'];
}
而到另一个controller  main里面就不能访问了
function index(){
  echo $_COOKIE['jack'];
}
而把cookie写在controller Welcome里面
function index()
{
  $value="this is a cookie";
  setcookie('jack',$value,time()+11234523);
}
function two(){
  echo $_COOKIE['jack'];
}
在controller main里面就能访问真是太奇怪了。为什么呢??
 楼主| 发表于 2009-7-17 09:59:51 | 显示全部楼层
cookies只能在同一目录下或在子目录下能访问,其他的就不行.
 楼主| 发表于 2009-7-17 10:00:03 | 显示全部楼层
发表于 2009-7-17 10:45:48 | 显示全部楼层
把setcookie('jack',$value,time()+11234523);改成setcookie('jack',$value,time()+11234523,'/');就可以了
发表于 2009-7-17 10:51:00 | 显示全部楼层
对,确实是路径问题,在浏览器看来不同控制器属于不同路径。
 楼主| 发表于 2009-7-17 11:28:34 | 显示全部楼层
不是不同的控制器吧,是model和controller之间是不同路径
发表于 2009-7-17 11:38:04 | 显示全部楼层
model 没有URL,所以没有路径。
 楼主| 发表于 2009-7-17 11:43:33 | 显示全部楼层
那在controller下设置cookie另一个controller就可以访问 这怎么讲
 楼主| 发表于 2009-7-17 11:43:49 | 显示全部楼层
发表于 2009-7-17 11:58:28 | 显示全部楼层
关于 cookie 我只能说这么多了,因为我从来没有遇到过 cookie 丢失的问题,呵呵。

我只测试过一种情况,就是不同控制器下的 cookie 不能互相访问。

本版积分规则