Codeigniter:set_message无法工作

时间:2015-01-31 05:20:05

标签: php codeigniter

这是我的控制器代码:

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.');不起作用?我试过了,结果是它会产生一个空的空白页。

1 个答案:

答案 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