这是我包含会话变量的控制器主体,它告诉我如何在视图中使用会话变量
$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'); ?>
确保首先在自动加载上启用$autoload['libraries'] = array('session');
.php并设置会话变量,然后在View
上回显
首先更新你的自动加载.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