【问题标题】:Codeigniter Redirect to a controllerCodeigniter 重定向到控制器
【发布时间】:2016-01-30 16:57:39
【问题描述】:

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

【问题讨论】:

    标签: php codeigniter redirect controller


    【解决方案1】:

    将您的重定向网址置于if($res[0]->user_type== 'user type'){redirect("url");} 条件中。使用 elseif($res[0]->user_type== 'user type'){redirect("url");} 后跟第一个 if 条件。

    【讨论】:

    • 我知道如何使用 if else,我使用 switch 语句,因为我的系统有 5 个用户。
    【解决方案2】:

    这取决于你的系统和你自己,如果你有很大的系统可以拆分为子系统,你可以这样做,但如果你的系统很小,你不需要这样做,只管理你的用户权限,和会议。

    如果你想使用方法一: 您必须添加 url helper 然后您才能轻松编写:

    redirect('/controller/method');

    在方法2中:

    使用会话来管理用户。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-07-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-09-25
      • 1970-01-01
      • 1970-01-01
      • 2018-01-14
      相关资源
      最近更新 更多