我的注册页面中有两种用户类型,一种是管理员,另一种是用户,我有登录页面。当我以管理员身份登录仪表板时,在仪表板中我有10种不同类型的组件。当我记录时作为管理员,仪表板应该显示所有组件。但是当我作为用户登录时,仪表板应该只显示5个组件(与用户相关的那些组件)。我想通过使用sessions.can显示这些组件你请帮我怎么做这可以通过使用sessions.and当我在仪表板中打开任何组件时,用户名应显示在页面顶部。
public function login()
{
$data['error'] ="Invalid Login";
$this->load->view('auth/header');
if($this->input->post())
{
$user = $this->UserModel->login($this->input->post());
if(count($user)>0)
{
$array = array(
'client_id' => $user['client_id'],
'client_type_id'=>$user['client_type_id'],
'email' => $user['email'],
'password' => $user['password'],
);
$this->session->set_userdata($array);
}
else
{
$data["error_message"]="Invalid User Name and Password combination";
}
}
}
答案 0 :(得分:2)
在日志记录过程中,您可以检查用户ID并使用id获取查询。然后,您可以检查已登录用户可以访问的组件是什么。
获取这些详细信息并将其置于变量中。然后您可以使用session
。
$this->session->set_userdata('set name',your variable);
您可以随时随地访问此会话。
$this->session->userdata('set name');
您可以通过user name
获取user id
。
答案 1 :(得分:0)
在$ your_var中设置用户信息
$this->session->set_userdata('user_info', $your_var);
在数组中传递用户信息
$this->data['user_info']=$this->session->userdata['user_info'];
销毁会话用户信息
$this->session->unset_userdata("user_info");