Я несколько дней боролся с маршрутами Codeigniter.и это серьезно сдерживало мою производительность.Таким образом, любая помощь здесь будет принята с благодарностью.
У меня есть форма для входа:
- если вход в систему неверный перенаправить -> ошибка страницы
- если вход в систему правильный перенаправление-> welcome
Я использую сценарий отладчика маршрута codeigniter для проверки и отладки моих маршрутов.
Когда я проверяю свои журналы маршрутизации, следующие показания для правильной попытки входа в систему.
DEBUG - 2018-05-11 03:40:10 -> Клиент отправлен: пользователи / добро пожаловать
DEBUG - 2018-05-11 03:40:10 -> Маршрутнайдено: users / welcome -> users / welcome
DEBUG - 2018-05-11 03:40:10 -> Перенаправление на: users / welcome -> users / welcome
пользователи / добро пожаловать DEBUG - 2018-05-11 03:40:10 -> Глобальные данные POST, GET и
COOKIE санированы ОШИБКА - 2018-05-11 03:40:10 -> Страница 404 Не
Как вы можете видеть, маршрут найден, а затем он перенаправляется на маршрут, НО, так или иначе, это приводит к тому, что страница 404 не найдена.
Однако у меня явно есть страница приветствия в моих представлениях, как видно на изображении ниже:
Я удалил все и попыталсясделать мои маршруты максимально простыми.config/routes.php
читается следующим образом.
$route['users']= 'users';
$route['users/index'] = 'users/index';
$route['users/login'] ='users/login';
$route['users/welcome'] ='users/welcome';
$route['users/failed'] ='users/failed';
$route['(:any)'] = 'pages/index/$1';
$route['default_controller'] = 'pages/index';
$route['404_override'] = '';
$route['translate_uri_dashes'] = FALSE;
URL страницы читается следующим образом: http://mysite/users/welcome = 404 ошибка, как описано выше.
Любая помощь приветствуется.
Дополнительная информация: пользователи контроллера ()
открытая функция login () {$ data ['title'] = 'Войти';
$this->form_validation->set_rules('username', 'Username', 'required');
$this->form_validation->set_rules('password', 'Password', 'required');
if($this->form_validation->run() === FALSE){
$this->load->view('templates/header');
$this->load->view('users/login', $data);
$this->load->view('templates/footer');
} else {
// Get username
echo $username = $this->input->post('username');
// disabled encryption for testing
echo $password = $this->input->post('password');
// Login user
$user_id = $this->users_model->login($username, $password);
if($user_id){
// Create session
$user_data = array(
'userID' => $user_id,
'username' => $username,
'logged_in' => true
);
$this->session->set_userdata($user_data);
// Set message
$this->session->set_flashdata('user_loggedin', 'You are now logged in');
redirect('users/welcome');
} else {
// Set message
$this->session->set_flashdata('login_failed', 'Login is invalid');
redirect('users/failed');
}
}