繁体   English   中英

Codeigniter $ this-> session-> set_userdata()无法正常工作

[英]Codeigniter $this->session->set_userdata() not working properly

我正在生成一个会话,但是当我生成一个会话时,调用$this->session->set_userdata('sessionName',$sessionArray)函数后,我没有得到__ci_last_regenerate 当我在没有__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,请检查您的codeignator版本

如果codeignator版本为3.0或小于3.0,则需要将codeignator更新为当前版本(例如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)

但这完全取决于您的其余代码。 上载其余代码,以获得更好的解决方案

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM