我首先在纸上画出了这个功能的逻辑,所以我在哪里做这个是有道理的。我创建了表单,表单在提交时调用控件类中的方法,然后发送到模型进行检查。
我相信我的控制器中的逻辑是正确的,所以我认为问题在于模型类中的方法。
function validate()
{
$this->db->where('username', $this->input->post('username'));
$this->db->where('password', $this->input->post('password'));
$query = $this->db->get('membership');
return $query;
}
我希望 $query 返回真或假,就像布尔值一样。相反,无论输入的数据是否与数据库中的数据匹配或完全错误,无论其输出是否正确。下面是控制器类中的方法;
function validate_credentials()
{
$this->form_validation->set_rules('username', 'username', 'required');
$this->form_validation->set_rules('password', 'password', 'required');
if ($this->form_validation->run() == FALSE)
{
$this->createAdminForm();
}
else
{
$this->load->model('admin_Model');
$query = $this->admin_Model->validate();
if($query)
{
redirect('pages');
}
else // incorrect username or password
{
$this->createAdminForm();
}
}
}