2

专家们,

我的会话有点问题。我想像这样将我的登录数据保存到会话中:

登录控制器

$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

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

任何人都可以帮忙吗?

4

5 回答 5

4

我不知道为什么,但我认为我的故事会帮助面临同样问题的人。我的问题只是因为我忘记降级我的 Wamp php 版本,它的 php 7.1。看起来我的 CI 不支持 php 7.1 或更高版本。所以只需点击几下就可以降级我的 php,我的问题就解决了。

于 2018-07-10T12:07:05.603 回答
2

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

于 2018-01-25T08:32:01.007 回答
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..

阅读更多关于 CI 会话的信息

于 2013-01-16T09:27:05.453 回答
0

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

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

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

于 2013-01-16T09:18:41.850 回答
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() 
于 2013-01-16T09:27:56.417 回答