【问题标题】:CodeIgniter session not savedCodeIgniter 会话未保存
【发布时间】:2011-09-02 08:53:16
【问题描述】:

我通过测试获得了控制器示例名称。

在索引方法中我会创建会话,它会成功存储在数据库中,但是当我想用其他方法读取它们时,它会在数据库中创建另一个会话。 例如:

public function index(){
     $this->session->set_userdata('test','test');
}
public function test(){
     echo $this->session->userdata('test');
}

它不会有任何回应。当我检查数据库时,它创建了新行。

【问题讨论】:

  • 当你把它放在你的测试函数中时会输出什么? var_dump($this->session->all_userdata());
  • 我认为您的控制器中的echo 不会传播到您的视图,但var_dump($this->session->userdata('test')) 会。那么@Tobias:var_dump 的输出是什么?

标签: session codeigniter


【解决方案1】:

我在其他地方(例如here)看到 Codeigniter 在 localhost 上存在 cookie 问题,这将导致您所描述的问题,因为如果 cookie 无效,Codeigniter 将无法识别会话并从数据库中收集该信息。为了验证这个假设,您可以将您的应用程序上传到真实服务器并在那里尝试。

【讨论】:

    【解决方案2】:

    我遇到了类似的问题,只是发现系统的会话库在设置 cookie 时遇到了一些问题

    setcookie(
                    $this->sess_cookie_name,
                    $cookie_data,
                    $expire,
                    $this->cookie_path,
                    $this->cookie_domain,
                    $this->cookie_secure
                );
    

    我只是重新写了

    setcookie(
                    $this->sess_cookie_name,
                    $cookie_data,
                    $expire,
                    $this->cookie_path,
                    $this->cookie_secure
                );
    

    结果很好

    【讨论】:

      猜你喜欢
      • 2018-05-26
      • 2015-02-13
      • 1970-01-01
      • 1970-01-01
      • 2013-09-04
      • 1970-01-01
      • 1970-01-01
      • 2012-09-06
      • 2019-01-18
      相关资源
      最近更新 更多