无法在Codeigniter中执行登录重定向

乌斯曼·汗(Usman Khan)

我正在尝试使用codeigniter开发登​​录面板,但是我无法做到这一点,因为我认为我的概念还不是很清楚,或者我做错了什么,请帮我解决这个问题

控制器> admin.php

class admin extends CI_Controller {

public function __construct() {
    parent::__construct();
    $this->load->model('verify_user');
}

public function verify() {
    $this->load->library('form_validation');
    $username = $this->form_validation->set_rules('username', '', 'required|trim');
    $password = $this->form_validation->set_rules('password', '', 'required|trim');

    if($this->form_validation->run()) {
        $this->verify_user->can_log_in();
        redirect('admin/dashboard');
    } else {
        $this->load->view('admin/login');
    }
}

public function dashboard() {
    if($this->session->userdata('is_logged_id') == true) {
        $this->load->view('admin/dashboard');
    } else {
        redirect('admin/login');
    }
}

型号> verify_users.php

class verify_user extends CI_Model {
    public function __construct() {
        parent::__construct();
    }

    public function can_log_in() {
        $this->db->where('username', $this->input->post('username'));
        $this->db->where('password', $this->input->post('password'));

        $query = $this->db->get('users');

        $query2 = $this->db->get_where('users', array(
            'username' => $this->input->post('username')
        ));
        if($query2->num_rows() == 1) {
            $name  = $query2->row()->first_name . " " . $query2->row()->last_name;
        }
        if($query->num_rows() == 1) {

            $query = $this->db->get_where('users', array(
                'username' => $this->input->post('username')
            ));

            $data = array(
                'username' => $this->input->post('username'),
                'is_logged_in' => 1
            );

            $this->session->set_userdata('name', $name);
            $this->session->set_userdata($data);

            return true;
        } else {
            $data['message'] = 'Incorrect username/password';
            $this->load->view('admin/login', $data);
        }
    }
}

当我使用正确的用户名和密码登录时,事情发生了,当我将模型脚本放入verify函数中时,它会将我重定向回login.php,它可以正常运行

这个你能帮我吗

一半

这是对您的实现方式的最接近的解决方法。您需要考虑阅读有关MVC的更多信息。尝试用以下命令替换您的控制器:

    class admin extends CI_Controller {

    public function __construct() {
        parent::__construct();
        $this->load->model('verify_user');
    }

    public function verify() {
        $this->load->library('form_validation');
        $username = $this->form_validation->set_rules('username', '', 'required|trim');
        $password = $this->form_validation->set_rules('password', '', 'required|trim');

        if($this->form_validation->run() && $this->verify_user->can_log_in()) {
            redirect('admin/dashboard');
        } else {
            $this->load->view('admin/login');
        }
    }

    public function dashboard() {
        if($this->session->userdata('is_logged_in') == "1") {
            $this->load->view('admin/dashboard');
        } else {
            redirect('admin/login');
        }
    }
}

和您的模型与此:

class verify_user extends CI_Model {
    public function __construct() {
        parent::__construct();
    }

    public function can_log_in() {
        $this->db->where('username', $this->input->post('username'));
        $this->db->where('password', $this->input->post('password'));

        $query = $this->db->get('users');

        $query2 = $this->db->get_where('users', array(
                'username' => $this->input->post('username')
        ));
        if($query2->num_rows() == 1) {
            $name  = $query2->row()->first_name . " " . $query2->row()->last_name;
        }
        if($query->num_rows() == 1) {

            $query = $this->db->get_where('users', array(
                    'username' => $this->input->post('username')
            ));

            $data = array(
                    'username' => $this->input->post('username'),
                    'is_logged_in' => "1"
            );

            $this->session->set_userdata('name', $name);
            $this->session->set_userdata($data);

            return true;
        } else {
            $data['message'] = 'Incorrect username/password';
            return false;
        }
    }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

无法在chroot环境中执行重定向

来自分类Dev

检查登录并在Codeigniter中重定向不起作用?

来自分类Dev

仅在脚本完成后在codeigniter中执行重定向

来自分类Dev

仅在脚本完成后在codeigniter中执行重定向

来自分类Dev

登录后无法重定向?

来自分类Dev

重定向到登录页面-Codeigniter

来自分类Dev

WordPress中的登录重定向

来自分类Dev

在Django中执行表单操作后无法重定向

来自分类Dev

Codeigniter中重定向的行为

来自分类Dev

Lightdm无法登录和重定向

来自分类Dev

无法从登录页面重定向到主页

来自分类Dev

无法登录并重定向mysql php

来自分类Dev

登录时重定向无法正常工作

来自分类Dev

重定向301无法正常工作codeigniter

来自分类Dev

Codeigniter:弹出消息后无法重定向

来自分类Dev

Codeigniter重定向无法正常工作

来自分类Dev

login_check使用FosUserBundle在登录表单中执行了错误的重定向

来自分类Dev

为什么我的登录功能只是重定向而不执行func中编写的内容

来自分类Dev

无法执行正确的重定向301

来自分类Dev

[CodeIgniter]:控制器中执行重定向功能前的延迟时间

来自分类Dev

登录页面中的重定向循环错误

来自分类Dev

登录失败后在Liferay中重定向

来自分类Dev

登录后重定向yii中的页面

来自分类Dev

登录页面在角度验证中重定向

来自分类Dev

cakePHP 3.4 中的登录重定向

来自分类Dev

登录到codeigniter后在哪里放置重定向文件?

来自分类Dev

登录到主页之前的“规则”页面后,Codeigniter重定向

来自分类Dev

登录到codeigniter后在哪里放置重定向文件?

来自分类Dev

登录到首页之前的“规则”页面后,Codeigniter重定向

Related 相关文章

热门标签

归档