这是我的控制器,
class Form extends CI_Controller {
function index()
{
$this->form_validation->set_rules('username', 'Username', 'trim|required|xss_clean');
$this->form_validation->set_rules('password', 'Password', 'trim|required|xss_clean|callback_check_database');
if ($this->form_validation->run() == FALSE)
{
$this->load->view('myform');
}
else
{
$this->load->view('formsuccess');
}
}
function check_database($password)
{
$this->load->model('testlogin');
$username=$this->input->post('username');
$result=$this->testlogin->check($username,$password);
if($result)
{
$sess_array = array();
foreach($result as $row)
{
$sess_array = array('id' => $row->id,'uname' => $row->uname);
$this->session->set_userdata('logged_in', $sess_array);
}
return true;
}
else
{
$this->form_validation->set_message('check_database', 'Invalid username or password');
return false;
}
}
}
除set_message();
函数外,一切正常。我的编码有什么问题。如果我提供了错误的凭据,则set_message功能无效。
谁能告诉我这是什么问题。
提前致谢。