我有不同类型的用户具有不同的功能,我想将不同的用户重定向到他们的控制器,这是Codeigniter的一个好习惯,如果是的话我该怎么做?
public function login() {
$this->form_validation->set_rules('email', 'Email', 'required|valid_email');
$this->form_validation->set_rules('password', 'Password', 'required');
if ($this->form_validation->run() != FALSE) {
$db_data = array();
$db_data['email'] = $this->input->post('email', TRUE);
$db_data['password'] = $this->input->post('password', TRUE);
$res = $this->Fypms_model->auth_user($db_data);
if ($res->result_id->num_rows == 1) {
//$this->session->set_userdata($user);
$res = $res->result();
$this->session->set_userdata('user_id', $res[0]->user_id);
//redirect("users/changepassword");
switch ($res[0]->user_type) {
case "SA":
redirect("/superadmin/index");;
break;
}
} else {
$data['error'] = "Invalid Email or Password";
}
}
}
答案 0 :(得分:0)
将重定向网址置于if($res[0]->user_type== 'user type'){redirect("url");}
状态。使用elseif($res[0]->user_type== 'user type'){redirect("url");}
后跟第一条if条件。
答案 1 :(得分:0)
这取决于你的系统和你自己,如果你有庞大的系统可以拆分成子系统,你可以做到,但如果你有很少的系统,你不需要那样做,只管理你的用户权限,和会议。
如果你想使用方法1: 你必须添加url helper,然后才能轻松编写:
redirect('/controller/method');
:
使用会话来管理用户。