会话变量未在Ci中显示?

时间:2018-10-23 02:24:20

标签: codeigniter

我的包含会话变量位置的控制器主体告诉我如何在视图中使用会话变量

$username=$this->input->post('username');
                $password=md5($this->input->post('password'));
                $user_id=$this->user_model->login($username,$password);
                if($user_id){
                    $user_data=array(
                    'user_id'=>$user_id,
                    'username'=>$username,
                    'usertype'=>$usertype,
                    'logged_in'=>true
                );

不起作用

 <?php  echo $this->session->userdata('usertype');  ?> 

2 个答案:

答案 0 :(得分:0)

首先更新您的autoload.php ,如下所示。否则它将无法在CI中使用。

$autoload['libraries'] = array('session');

将您的控制器更改为此:

$username=$this->input->post('username');
    $password= md5($this->input->post('password'));
    $user_id=$this->user_model->login($username,$password);
    if($user_id)
    {
       $user_data=array(
        'user_id'=>$user_id,
        'username'=>$username,
        'usertype'=>$usertype,
        'logged_in'=>true
        );
     }

$this->session->set_userdata($user_data);

要查看所有会话数据:

$this->session->all_userdata();

要获取单个会话数据:

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

您可以从中得到一个更好的主意: https://www.codeigniter.com/user_guide/libraries/sessions.html

答案 1 :(得分:0)

确保首先在autoload.php上启用$autoload['libraries'] = array('session');并设置会话变量,然后在View上回显