Проблема в том, что я перенаправляю свою функцию с одного контроллера на другой, и я не знаю, почему она не перенаправляется туда, а прямо выходит на вход в систему page(RegistrationController)
когда я использую функцию перенаправления, но когда я загружаю представление, тогда это работает.
Рассмотрим следующий фрагмент. Я хочу, чтобы он был перенаправлен на AdminController
но это не перенаправляется туда. У меня есть мнение в AdminController
,
Кроме того, ссылки в этом представлении также не работают, они также загружают RegisterationController
всякий раз, когда нажимают.
<?php
class RegistrationController extends CI_Controller{
function validate_credentials(){
$username = $this->input->post('hotelEmail');
$password = $this->input->post('hotelPassword');
$this->load->model('AdminModel');
$query = $this->AdminModel->validate($username, $password);
if($query) // If the user's credentials validated . . .
{
$data = array(
'hotel_email' => $this->input->post('hotelEmail'),
'hotel_id' => true
);
$this->session->set_userdata($data);
redirect('AdminController');
}else{
$this->session->set_flashdata('wrong_credentials', 'Wrong Username or Password!');
$this->load->view('login');
}
}
?>
Класс контроллера представления расширен от AuthenticationController, который является следующим
<?php
class AuthenticationController extends CI_Controller{
public function __construct(){
parent::__construct();
$this->checkSession();
}
public function checkSession(){
if(!$this->session->set_userdata('hotel_id')){
redirect('RegistrationController/');
exit();
}
}
}?>
удалить задавать_ от set_userdata от checkSession () функционировать, и вы готовы идти!
Ты используешь set_userdata на месте данные пользователя
Пользователь этот код
public function checkSession(){
if(!$this->session->userdata('hotel_id')){
redirect('RegistrationController/');
exit();
}
}
Начните с загрузки сеанса в контроллер или autoload.php
public function __construct()
{
parent::__construct();
$this->load->library('session');
}
Далее звоните validate_credentials
создать сеанс, если учетные данные пользователя верны.
Затем вызовите эту функцию:
public function checksession()
{
print_r($this->session->userdata);
}