Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
codeigniter:使用ajax probelm的登录表单_Codeigniter - Fatal编程技术网

codeigniter:使用ajax probelm的登录表单

codeigniter:使用ajax probelm的登录表单,codeigniter,Codeigniter,这是我在codeigniter中的登录代码…它没有登录,只是在jquery响应中显示结果?这代码有什么问题? 我已经编写了控制器、模型,并为此使用了jquery 控制器(login.php)页面 function validate_credentials(){ $username = $this->input->post('username'); $password = $this->input->post('passwd');

这是我在codeigniter中的登录代码…它没有登录,只是在jquery响应中显示结果?这代码有什么问题? 我已经编写了控制器、模型,并为此使用了jquery

控制器(login.php)页面

function validate_credentials(){

        $username =  $this->input->post('username');
        $password =  $this->input->post('passwd');

        $data = $this->login_model->validate();

        if($data){

            $this->session->set_userdata('username',$data); 
            redirect('site/math_page');

        }
        else{
            echo'something went wrong';
        }


    }
function validate() {

        $this->db->select('*');
        $this->db->from('user_details');
        // $this->db->where('user_email',$email);
        // $this->db->where('user_password',$pass);

            if($query=$this->db->get())
            {
                return $query->result_array();
            }
            else{
                return false;
            }

    }
模型(login_Model.php)页面

function validate_credentials(){

        $username =  $this->input->post('username');
        $password =  $this->input->post('passwd');

        $data = $this->login_model->validate();

        if($data){

            $this->session->set_userdata('username',$data); 
            redirect('site/math_page');

        }
        else{
            echo'something went wrong';
        }


    }
function validate() {

        $this->db->select('*');
        $this->db->from('user_details');
        // $this->db->where('user_email',$email);
        // $this->db->where('user_password',$pass);

            if($query=$this->db->get())
            {
                return $query->result_array();
            }
            else{
                return false;
            }

    }
登录jquery

$(document).ready(function() {

        //login js..
        $("#login_submit").click(function(){
            var username = $("#username").val().trim();
            var passwd = $("#passwd").val().trim();
            //alert(username);
            if( username == "" && passwd == "" ) {
                $(".lognerror").html("Please enter  Login credentials!");
                $(".lognerror").show().fadeOut(3000);
            }
            else if( username == "" ) {
                $(".usererror").html("Please enter username");
                $(".usererror").show().fadeOut(3000);
            }
            else if ( passwd == "" ) {
                $(".passwrderr").html("Please Enter Password");
                $(".passwrderr").show().fadeOut(3000);
            }
            else {

                $.ajax({
                    url: base_url+'index.php/login/validate_credentials',
                    data:{username:username,passwd:passwd},
                    cache: false,
                    processData: false,
                    contentType: false,
                    type: 'POST',
                    success: function (response) {
                        // do something with the result
                         //var msg = "";
                        //alert(msg);
                         if(response == 1){
                            window.location.href= base_url+'index.php/site/math_page';
                        }
                        else {
                            msg = "Invalid Login credentials!";
                        }
                        //$("#message").html(msg); 
                        $("#message").show().fadeOut(3000); 
                    }
                });
            }
        });
});

有人能告诉我这段代码有什么问题吗?我是php新手,所以请引导我完成这段代码

在validate()中发送$username和$password作为参数。并在模型中应用where子句。在IF条件下使用$query->num_rows()>0

在模型-

function validate($email, $pass) {
    $this->db->select('*');
    $this->db->from('user_details');
    $this->db->where('user_email',$email);
    $this->db->where('user_password',$pass);
    $query=$this->db->get()
    if($query->num_rows() > 0) {
       return $query->result_array();
    }
    else{
       return false;
    }
 }
在控制器中—

替换

$data=$this->login_model->validate()

$data=$this->login\u model->validate($username,$password)

在控制器中更改您的响应

    if($data){
        $this->session->set_userdata('username',$data); 
        echo 1;
    }
    else{
        echo 0;
    }

在validate()中将$username和$password作为参数发送。并在模型中应用where子句。在IF条件下使用$query->num_rows()>0。您不应该从控制器重定向,而是将响应发送到jquery。