我發現其他人遇到同樣的問題,但無法找到解決問題的方法。如果使用回調函數登錄失敗,則不會顯示我的錯誤消息。未顯示CodeIgniter回調函數
loginController.php
public function validate_credentials() {
$this->load->model('users_model');
$query = $this->users_model->validate();
if($query)
{
$data = array(
'username' => $this->input->post('username'),
'is_logged_in' => true
);
$this->session->set_userdata($data);
redirect('/member/homes');
}
else
{
$this->form_validation->set_rules('username', 'Username', 'trim|required|callback_check_username_exists'); //test
$data['lofin_failed'] = 'Wrong usename or password'; // I added this line in the meantime to display an error message.
$this->load->view('header');
$this->load->view('navbar');
$this->load->view('loginForm', $data);
$this->load->view('footer');
}
}
public function check_username_exists()
{
$this->form_validation->set_message('check_username_exists', 'Wrong username or password!!');
return false;
}
users_model.php
public function validate() {
$this->db->where('username', $this->input->post('username'));
$this->db->where('password', md5($this->input->post('password')));
$query = $this->db->get('game_players');
if($query -> num_rows() == 1) { // if we have one match
return true;
}
}
您的回調函數應該有一個參數。嘗試將它聲明爲'check_user_exists(username)' –
*'公共函數check_username_exists($ username)' –
我在函數declarion中添加了'$ username'但它沒有幫助。有沒有辦法看到郵件的內容或爲什麼不顯示? – remyremy