无法更改 codeigniter 中的会话值

Can't change session value in codeigniter

我在 codeigniter 中使用会话,它运行良好但我无法更改值。 我使用这个功能:

$this->session->set_userdata('check', 0);

我必须将 'check' 的值更改为 0。

为什么不能?

我的问题是,为什么我不能更改值会话?我第一次设置这样的值:

$sess_array = array(
        'userid' => $row->userid,
        'pseudo' => $row->pseudo,
        'check'  => $row->check
);  
$this->session->set_userdata('logged_in', $sess_array);

您可以尝试取消设置该值,然后为其分配一个新值,类似于以下代码:

$check= $this->session->userdata('check');

if(!empty($check)){
  $this->session->unset_userdata('check');
  $this->session->set_userdata('check', 0);
}
echo $this->session->userdata('check');

如果可行请告诉我!!

$sess_array = array(
    'userid' => $row->userid,
    'pseudo' => $row->pseudo,
    'check'  => $row->check
); 
// you have set session key 'logged_in' 
$this->session->set_userdata('logged_in', $sess_array);

// Get session value from existing key
$arrSession = $this->session->userdata('logged_in');
$arrSession['check'] = 0;
$this->session->set_userdata('logged_in', $arrSession);

您需要更新如上所示的值。

如果您希望按照您的指示设置 'check' 值。你需要做如下

$sess_array = array(
    'userid' => $row->userid,
    'pseudo' => $row->pseudo,
    'check'  => $row->check
); 
// Note that no key specified. 
$this->session->set_userdata($sess_array);
// Now i think you can set check value. Give it a try. Let me know which works.
$this->session->set_userdata('check',0);