这是我的控制器代码:
public function login_validation(){
$this->load->library('form_validation');
$this->load->model('model_users');
$this->form_validation->set_rules('username', 'Username', 'required|trim|alpha_numeric|xss_clean|strip_tags');
$this->form_validation->set_rules('password', 'Password', 'required|trim|xss_clean|strip_tags');
if ($this->form_validation->run()){
if ($this->model_users->can_log_in()){
$data = array(
'username' => $this->input->post('username'),
'password' => $this->input->post('password')
);
if($this->model_users->get_status($data['username'])){
$data = array(
'username' => $this->input->post('username'),
'privilege' => 'member',
'is_logged_in' => 1
);
$this->session->set_userdata($data);
redirect('member');
} else {
$data = array(
'username' => $this->input->post('username'),
'privilege' => 'admin',
'is_logged_in' => 1
);
$this->session->set_userdata($data);
redirect('admin');
}
} else {
$this->form_validation->set_message('login_validation', 'Incorrect username/password.');
}
} else {
$this->login();
}
我可以知道为什么在输入错误的用户凭据时$this->form_validation->set_message('login_validation', 'Incorrect username/password.');
不起作用?我试过了,结果是它会产生一个空的空白页。
答案 0 :(得分:0)
您可以使用以下方式查看所有错误:
$ message =(validation_errors())? validation_errors(): $这 - >会话而> flashdata('消息&#39);
的var_dump($消息);
您需要激活日志 -
编辑文件:application / config / config.php - 完整/所有错误报告,将其设置为4。 - 仅对于ERRORS,将其设置为1。 - 对于ERRORS和WARNINGS / DEBUG,将其设置为2.
然后将CodeIgniter日志目录设置为可由服务器写入,请使用命令:
chmod 777 / logs /
现在您已准备好在日志文件中获取日志。您可以从命令行执行以下操作:
tail -f /application/logs/log-YYYY-MM-DD.php