Разрабатываю CMS. У меня есть три сценария и 2 переменные сеанса
$_SESSION['logged']
$_SESSION['redirect']
«auth.inc.php» - запускается каждый раз, когда пользователь запрашивает страницу. Он проверяет, установлен ли $ _SESSION ['logged'] и равен 1. Если это не так, перенаправляет главную страницу, используя
header(location:index.php)
а ссылка реферера страницы сохраняется в $ _SESSION ['redirect']. Если $ _SESSION ['logged'] установлен, время бездействия меньше требуемого значения, он перенаправляет на запрошенную страницу, в противном случае он перенаправляется на logout.php
"index.php" - проверяет имя пользователя и пароль. Я удачные наборы
$_SESSION['logged']=1
Если установлено значение $ _SESSION ['redirect'], выполняется перенаправление на эту страницу, в противном случае - на страницу с ошибкой.
"logout.php" - отключает и уничтожает сеанс, используя
session_unset();
session_destroy();
Но я хочу, чтобы пользователь вышел из системы из-за тайм-аута сеанса, тогда после входа в систему он должен быть перенаправлен на старую страницу. Поскольку я отключил сеанс, $ _SESSION ['redirect'] был потерян. Поэтому вместо использования session_unset () я сбрасываю только $ _SESSION ['logged']
unset($_SESSION['logged']);
session_destroy();
но все же я не могу получить $ _SESSION ['redirect'] после session_destroy (). Переменная все еще не установлена. Как мне перенаправить на старую страницу после выхода из системы из-за истечения срока действия сеанса