Я начал использовать codeigniter для своего проекта. У меня есть система аутентификации пользователей для моего сайта. Я видел видео с nettuts для входа в систему. Я смущен, почему выход из системы не работает должным образом.
В моем контроллере входа в систему есть следующая функция выхода из системы.
function logout() { $this->session->sess_destroy(); redirect('main'); }
Если я нажму кнопку «Выход», я перенаправляю пользователя на главную страницу. Но после перенаправления пользователя на главную страницу, если нажать на кнопку «Назад» в браузере, я увижу отставку и мое имя в верхней части страницы. Мне нужна помощь в том, где я ошибаюсь, или есть какой-то важный код, который мне не хватает в моем контроллере
заранее спасибо
РЕДАКТИРОВАТЬ
Думаю, я нашел решение. Я должен добавить следующий код в соответствующий контроллер
$this->output->set_header("Cache-Control: no-store, no-cache, must-revalidate, no-transform, max-age=0, post-check=0, pre-check=0"); $this->output->set_header("Pragma: no-cache");
Я думаю, что это проблема с кешем браузера. Если вы нажмете «назад», вы действительно видите страницу в кеше, как это было, когда вы вошли в систему.
Попробуйте нажать F5, когда сразу вернетесь к странице до выхода. Теперь он должен показать, что вы вышли из системы.
Добавление заголовка в мой главный конструктор решило мою проблему с IE7:
$this->output->set_header("Cache-Control: no-store, no-cache, must-revalidate, no-transform, max-age=0, post-check=0, pre-check=0"); $this->output->set_header("Pragma: no-cache");