Я создал простой вход в codeigniter, где пользователь вводит свое имя пользователя и пароль, и если он действителен, перейдите на некоторую защищенную страницу. На защищенной странице есть ссылка, называемая logout. Но проблема в том, что после выхода из системы, если я напрямую обращаюсь к защищенной странице, она не перенаправляется на страницу входа.Данные сеанса не очищены в кодеигниторе
моя защищенная страница содержит
<?php
if (!isset($this->session->userdata['loggedin'])) {
redirect("login");
}
?>
Welcome Dear!!
<a href="login/logout">Logout</a>
Я устанавливал данные сессии после успешного верительных пользователя.
//set the session variables
$sessiondata = array(
'username' => $username,
'loggedin' => TRUE
);
$this->session->set_userdata($sessiondata);
redirect('admin');
В методе выхода из системы (Логин мой контроллер) Я незадана сессионные данные, такие как this-
// Removing session data
$sess_array = array(
'username' => '',
'loggedin' => FALSE
);
$this->session->unset_userdata($sess_array);
Но после выхода из системы, когда я получить доступ непосредственно к странице администратора (защищаемой) не перенаправляют на страница авторизации.
После выхода из системы я отлаживал это на странице входа и показывает уже сохраненное значение сеанса.
echo $this->session->userdata['username'];
но когда я использую метод выхода из системы, он отлично работает.
$this->session->sess_destroy();
Может ли кто-нибудь сказать мне, почему это произошло? Не работает unset_userdata, или я сделал что-то неправильно? Заранее спасибо.
проверить, работает ли мой ответ –