Codeigniter: set_message не может работать

0

это мой код контроллера:

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.'); ли я узнать, почему $this->form_validation->set_message('login_validation', 'Incorrect username/password.'); не работает, когда учетные данные пользователя введены неправильно? Я попробовал это, и результатом было то, что это приведет к пустой пустой странице.

Теги:
codeigniter

1 ответ

0

Вы можете просмотреть все ошибки с помощью:

$ message = (validation_errors())? validation_errors(): $this-> session-> flashdata ('message');

var_dump ($ сообщение);

И вам нужно активировать log-

Отредактируйте файл: application/config/config.php - Полный/Отчет об ошибках, установите его в 4. - Для ОШИБКИ установите для него значение 1. - Для ОШИБКИ и ПРЕДУПРЕЖДЕНИЙ /DEBUG установите для него значение 2.

Затем установите каталог журнала CodeIgniter, который должен быть доступен для записи сервером, используйте команду:

chmod 777/logs/

Теперь вы готовы получить журналы в вашем файле журнала. Из командной строки вы можете сделать так:

хвост -f/application/logs/log-YYYY-MM-DD.php

  • 0
    Я думаю, вы меня не так поняли. Я имел в виду, что я хочу показать пользователю ошибку, что он ввел неправильное имя пользователя или пароль на моем сайте.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню