Я хочу проверить сеанс; если он выходит, он переходит на мой веб-сайт, в противном случае перенаправляется на страницу входа; вот мой контроллер:
function __construct() {
parent::__construct();
$this->is_logged_in();
}
public function index($failed=FALSE) {
$data['main_content'] = 'login_view';
$data['failed_validation'] = $failed;
$this->load->view('includes/template', $data);
}
public function is_logged_in() {
if ($this->session->userdata('f_name') != null) {
return;
} else {
$this->index();
//die()// This one does not help either
}
}
public function display_site() {
$data['main_content'] = 'site_view';
$this->load->view('includes/template', $data);
}
Это версия после предложения (но все та же проблема!):
Контроллер:
function __construct() {
parent::__construct();
$this->load->model('user_model');
if ($this->user_model->is_logged_in() == FALSE) {
$this->index();
}
}
public function index($failed=FALSE) {
$data['main_content'] = 'login_view';
$data['failed_validation'] = $failed;
$this->load->view('includes/template', $data);
}
public function login() {
$data['main_content'] = 'login_view';
$data['failed_validation'] = FALSE;
$this->load->view('includes/template', $data);
}
Модель:
public function is_logged_in()
{
return ($this->session->userdata('is_logged_in') );
}
Это нормально, но когда пользователь переходит на страницу входа в систему, он показывает как страницу входа, так и главную страницу моего сайта! С другой стороны, даже если я умру (см. комментарий в моем коде), это не поможет, это даст мне пустую страницу!
Спасибо
is_logged_in
, в противном случае это не имеет смысла, в настоящее время он не нормализован и возвращает смешанный код, поэтому ваш код просто неверен, методы в контроллере следует использовать в качестве маршрутизации, поэтому index — это ваш индекс, display_site будет / the_controller/display_site вы должны попытаться перенести свою логику в модель - person Lawrence Cherone   schedule 27.01.2014