我正在生成一个会话,但是当我生成它时,我在调用__ci_last_regenerate
函数后没有得到$this->session->set_userdata('sessionName',$sessionArray)
。当我在没有__ci_last_regenerate的情况下生成我的会话后重定向时,会话数据没有出现在下一页上。我正在使用CI 3.1.4
$user_basic = array(
'user_id' => $user_id,
'email' => $this->input->post('email'),
'is_user_login' => 'true',
'language' => 'eng'
);
$this->session->set_userdata('user_basic',$user_basic);
echo'<pre>';print_r($this->session->userdata());
谢谢
如果您使用的是PHP> = 7.0,请检查您的codeigniter版本。
如果codeigniter版本是3.0或小于3.0,那么您需要将codeigniter更新为当前版本(例如,codeignator当前版本3.1.7)
在config / autoload.php $autoload['libraries'] = array('session');
中自动加载您的会话
首先确保已设置会话保存路径。有些人认为就像这个例子
$config['sess_save_path'] = APPPATH . 'cache/sessions/';
$config['sess_regenerate_destroy'] = TRUE;
文件夹权限0700
然后尝试在控制器上设置会话,例如示例
$sessionArray = array(
'is_logged' => TRUE
);
$this->session->set_userdata($sessionArray);
// Remove the sessionName $this->session->set_userdata('sessionName',$sessionArray)
然后你应该能够访问像这样的会话
<?php echo $this->session->userdata('is_logged');?>
首先加载会话库:
$this->load->library('session')
像这样使用它:
$this->session->set_userdata($sessionArray)
但它完全取决于你的其余代码。上传其余代码以获得更好的解决方案