Session 未保存CodeIgniter会话

Session 未保存CodeIgniter会话,session,codeigniter,Session,Codeigniter,通过测试,我得到了控制器示例名称 在索引方法中,我将创建会话,它将成功地存储在数据库中,但当我想在其他方法中读取它们时,它将在数据库中创建另一个会话。 例如: public function index(){ $this->session->set_userdata('test','test'); } public function test(){ echo $this->session->userdata('test'); } 它不会发出任何回声。

通过测试,我得到了控制器示例名称

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

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

它不会发出任何回声。当我检查数据库时,它产生了新的一行。

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

我遇到了类似的问题,刚刚发现系统的会话库在设置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
            );

结果很好

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