我首先在紙上繪製了此功能的邏輯,因此它在某種程度上說明了我要採用這種方法的原因。我創建了表單,表單在提交時調用控件類中的方法,然後發送到模型進行檢查。使用codeigniter創建登錄表單時的問題
我相信我的控制器中的邏輯是正確的,所以我認爲問題是模型類中的方法。
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;
}
我希望$查詢返回true或false,就像一個布爾值。相反,無論輸入的數據是否與數據庫中的數據匹配,或者其輸入數據是否完全錯誤,輸出都是正確的。以下是控制器類中的方法;
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();
}
}
}
代替'$驗證的=真正;返回$ validate',你可以簡單地說'return TRUE'。 – kubilayeksioglu 2013-02-22 10:15:05