Codeigniter重定向到控制器

时间:2016-01-30 16:57:39

标签: php codeigniter redirect controller

我有不同类型的用户具有不同的功能,我想将不同的用户重定向到他们的控制器,这是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";
                }
            }
        }

2 个答案:

答案 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');

方法2中的

使用会话来管理用户。