我的包含会话变量位置的控制器主体告诉我如何在视图中使用会话变量
$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'); ?>
答案 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
上回显