【问题标题】:Codeigniter form validation always return False 3Codeigniter 表单验证总是返回 False 3
【发布时间】:2014-05-21 18:35:56
【问题描述】:

我正在使用 codeigniter,并且我在同一个控制器中进行了 ywo 验证,一个可以正常工作,但另一个不能。这是一个不起作用的。请帮助我现在被困了一段时间......

 public function validate_login() {
    $this->load->library('form_validation');
    $this->form_validation->set_error_delimiters('<span class=error>', '</span>'); 
    $this->form_validation->set_rules('shopname','Shop Name','trim|required');
    $this->form_validation->set_rules('urname', 'Username', 'trim|required');
    $this->form_validation->set_rules('password', 'Password', 'trim|required|callback_check_database');

          if($this->form_validation->run() == FALSE) {
            echo"no";
            $this->login();

        }
        else {
        redirect('/user/demo','refresh');


        }

}

public function check_database($password) {
     $this->load->model('user_model');
    $shop = $this->input->post('shopname');
    $user = $this->input->post('uname');
    $result = $this->user_model->check_login($shop, $user, $password);

if($result)
{
  $sess_array = array();
  foreach($result as $row)
  {
    $sess_array = array(
      'owner_id' => $row->owner_id,
      'shopname' => $row->shopname,
      'username' => $row->username
    );
    $this->session->set_userdata('logged_in', $sess_array);
  }
  return TRUE;
}
else
{
  $this->form_validation->set_message('check_database', 'Invalid username or password');
  return FALSE;
}

这是模型:

public function check_login($shopname, $username, $password) {
    $this->db->select('owner_id, shopname, username, password');
    $this->db->from('Owner');
    $this->db->where('shopname = ' . "'" . $shopname . "'");
    $this->db->where('username = ' . "'" . $username . "'"); 
    $this->db->where('password = ' . "'" . MD5($password) . "'"); 
    $this->db->limit(1);

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

    if($query->num_rows() == 1)
    {
        return $query->result();
    }
    else
    {
        return false;
    }


  }

}

【问题讨论】:

    标签: php codeigniter validation


    【解决方案1】:

    你的拼写不同

    这里你叫它urname

     $this->form_validation->set_rules('urname', 'Username', 'trim|required');
    

    这里是 uname

    $user = $this->input->post('uname');
    

    【讨论】:

    • 谢谢@cartalot,但我离开了 CI 并再次从头开始。还是谢谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-16
    • 2016-10-28
    • 1970-01-01
    • 1970-01-01
    • 2012-08-27
    • 1970-01-01
    相关资源
    最近更新 更多