在 codeigniter 3.1.2 中,登录表单提交导致身份验证失败

Posted

技术标签:

【中文标题】在 codeigniter 3.1.2 中,登录表单提交导致身份验证失败【英文标题】:login form submit results in authentication failed in codeigniter 3.1.2 【发布时间】:2017-05-06 11:05:28 【问题描述】:

我的验证工作正常,但之后用户 ID 和密码在模型 fit_reg_model 中为空,并导致身份验证失败。请帮助我。 这是我的代码:

模型 fit_reg_model `

Ftg_reg_model 类扩展 CI_Model

public function log_valid( $userid, $password )


    $this->db->select("regID,loginCode");
    $whereCondition = $array = array('regID' =>$userid,'loginCode'=>$password);
    $this->db->where($whereCondition);
    $this->db->from('fit_1login');
    $query = $this->db->get();
    ////////////////////////////////checking values////////////////////
    echo"<pre>";
               print_r ($query->result()); exit;
               return $query->row()->countID;




     if( $query->num_rows() )
           

            echo"<pre>";
               print_r ($query->result()); exit;
               return $query->row()->countID;
               //return TRUE;
           
             else
           
               return FALSE;
           

控制器 fit_ci ` 公共函数 fit_loguser() $this->load->library('form_validation'); $this->form_validation->set_rules('uname','User Id','required|valid_email|valid_emails|trim'); $this->form_validation->set_rules('password','Password','required|trim'); $this->form_validation->set_error_delimiters("","

");
    if($this->form_validation->run() )
    
        $userid = $this->input->post('uname');
        $password = $this->input->post('password');

        //////////////////////////////////////loding model////////////////
        $this->load->model('ftg_reg_model');

         //echo $userid , $password;

        if( $this->ftg_reg_model->log_valid('$userid','$password')== True )
        
          //$this->load->view('fitasy/fit_userprofile'); 
            $this->load->library('session');
            $this->session->set_userdata('id',$id);
            echo "Successful loged";

        
        else
        
         echo "Authentication failed";
        
    
    else
    
      $data['title'] = 'Fit';
        $this->load->helper('form');
        $this->load->view('fit/index.php',$data);


    

`

查看 fit_loguser ` 在此处登录以将商品添加到您的购物车 'form-horizo​​ntal'])?>

           <?php echo form_error('uname'); ?>
           <?php echo form_input(['name'=>'uname','class'=>'form-control','placeholder'=>'Username','value'=>set_value('uname')])?><br>

           <?php echo form_error('password'); ?>
           <?php echo form_password(['name'=>'password','class'=>'form-control','placeholder'=>'Password'])?><br>

           <?php echo form_submit(['name'=>'logsubmit','class'=>'btn btn-default','value'=>'Proceed','type'=>'submit'])?>

    <?php echo form_close()?><!-------------form close-------------------------------------->

</div>`

【问题讨论】:

请格式化您的问题。 好的,我会的,stakoverflow 的新手 这就是为什么告诉你。 在哪里编辑或者我必须重新发布? 编辑选项在问题标签下方。有吗? 【参考方案1】:

尝试删除

$this->db->select("regID,loginCode");

在你的模型中看看发生了什么

【讨论】:

以上是关于在 codeigniter 3.1.2 中,登录表单提交导致身份验证失败的主要内容,如果未能解决你的问题,请参考以下文章

如何在登录系统中使用会话并在codeigniter中实现注销

如何在codeigniter中设置持久登录?

在 codeigniter 中注销

在codeigniter中如何使用ajax登录后重定向

在codeigniter中使用cookie登录时记住我复选框

账户激活,CodeIgniter