CodeIgniter会话不会被保存

时间:2013-01-16 09:09:57

标签: php codeigniter session cart

专家,

我的会话有点问题。我想将我的登录数据保存到会话中,如下所示:

checklogin Controller

$user = $this->user_model->user($email, $password);
$user["logged_in"] = TRUE;
var_dump($this->session->set_userdata($user)); // return NULL? is this correct?
var_dump($this->session->all_userdata()); //return the correct data

现在会话已保存为重定向。

其他控制器

var_dump($this->session->all_userdata()); // return session_id,… and a empty user_data array

我认为我对购物车类有同样的问题。

有人可以帮忙吗?

5 个答案:

答案 0 :(得分:1)

试试这个..

$user = $this->user_model->user($email, $password);
$user["logged_in"] = TRUE;
$this->session->set_userdata('user',$user);  //set session of users with a name user.

获取会话值,你可以做..

print_r($this->session->userdata('user')); // prints the user session array..

read more关于CI中的会话

答案 1 :(得分:1)

我不知道为什么,但是我认为我的故事会帮助遇到同样问题的人。 我的问题只是因为我忘记降级Wamp php版本,即php 7.1。看起来我的CI不支持php 7.1或更高版本。因此,只需单击几下即可将我的php降级,我的问题已解决

答案 2 :(得分:0)

set_userdata()函数没有返回值,因此在null上显示var_dump()是正确的。

为了将自定义数据保存到用户的会话,您应该查看手册here

它接受的参数必须是数组。

答案 3 :(得分:0)

嗯尝试添加到ci->session,然后获取数据

//将CodeIgniter对象分配给变量

function __construct() {
    parent::__construct ();                     
    $this->ci = & get_instance ();
        }

//将数据添加到ci会话

function test(){
     $this->ci->session->set_userdata($user)
}
另一个控制器中的

CodeIgniter对象分配给变量

function __construct() {
    parent::__construct ();                     
    $this->ci = & get_instance ();
        }

获取ci用户数据

$this->ci->session->all_userdata() 

答案 4 :(得分:0)

我在主index.php文件中添加了session_start()。之后就像一个魅力。