Codeigniter忽略了一个函数?

时间:2017-12-08 16:09:03

标签: php jquery ajax codeigniter

我是CodeIgniter的新手,并且刚刚开始学习ajax。我试图使用codeigniter建立一个基于网络的管理系统,一位远房亲戚在离开国外工作之前给了我一个使用codeigniter的系统样本作为参考。但是我的系统登录页面有问题,它一直刷新登录页面。

这是登录页面。

<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class Login extends CM_Controller {

    public function __construct()
    {
        parent::__construct();

    }

    public function index()
    {
        $this->generate_login_page('backbone/login', [
            'title'=>'CCC case management system - Login',
            'js'=>['modules/home/login.js']
            ]);
    }


    public function authenticate_login() {

        //$this->output->set_content_type('json');
        //$this->form_validation->set_rules('username', '<strong>Username</strong>', 'required');
        //$this->form_validation->set_rules('password', '<strong>Password</strong>', 'required');

        //if($this->form_validation->run()){

            $input = elements(['username','password'], $this->input->post());
            $input['username'] = ucwords($input['username']);
            $input['password'] = sha1($input['password']);
            $result = $this->login_model->check_user_exist($input['username']);
            //echo $input['username'];
            //echo $result;

            if($input['username'] !== ''){
                    if($result)
                    {

                        $result_match = $this->login_model->check_user_password_match($input['username'],$input['password'] );

                        //echo ''.;
                        if($result_match)
                        {
                            $result_user = $this->login_model->retrieve_user_information($input['username']);
                            $user_type_id = 0;
                            $user_id = 0;

                            if($result_user->num_rows() > 0){
                                foreach ($result_user->result() as $row) {
                                    $user_type_id = $row->user_type_id;
                                    $user_id = $row->user_id;
                                    $username = $row->username;
                                }

                            }
                            //echo json_encode($result_user);
                            $session_data = array(
                                             'username'  => $username,
                                             'session_id' => $this->session->userdata('session_id'),   
                                             'user_id' => $user_id,
                                             'user_type_id' =>$user_type_id,
                                             'is_logged_in' => 1
                                        );
                             $this->session->set_userdata($session_data);
                             $this->session->set_userdata('login_state', TRUE);

                            redirect('/');

                        }
                        else
                        {
                            $this->session->set_flashdata('msg', 'Incorrect Password or Username!');
                            redirect('login/');
                            //
                            //echo 'Username or Password is incorrect';
                            //$this->output->set_output($this->set_json_output(FALSE, 'Username or Password is incorrect'));
                        }
                    }
                    else
                    {
                        $this->session->set_flashdata('msg', 'Invalid Username or doesnt exist !');
                        redirect('login/');
                        //
                            //$this->output->set_output($this->set_json_output(FALSE, 'User not Exist'));   
                        //echo 'User not registered';
                    }

            }else{
                        $this->session->set_flashdata('msg', 'Please input username !');
                        redirect('login/');
            }

        /*}else{
            $error_messages = array_values($this->form_validation->error_array());
            $this->output->set_output($this->set_json_output(FALSE, $error_messages));
        }*/
    }

}

如果用户名和密码与数据库匹配,则应该重定向到另一个页面。如果没有,则会弹出错误的用户/通行证。

我没有得到任何错误,但问题是它没有重定向到另一个页面它只保持刷新页面,如果我离开用户并传递空/给一个不正确的用户&amp;传递输入同样的事情发生。似乎函数authenticate_login没有被执行?任何人都可以告诉我这里到底出了什么问题。 TNX。

0 个答案:

没有答案