#php #session-timeout
#php #тайм-аут сеанса
Вопрос:
Как мне эффективно создать обработчик тайм-аута сеанса в PHP? Я создаю сайт членства, на котором пользователь входит в систему, я устанавливаю переменную сеанса, в которой он успешно вошел в систему, а затем начинаю показывать данные о членстве, когда в session var для этого указано member = yes. Проблема в том, что время ожидания сеанса истекает. Конечно, я уже устанавливаю тайм-аут сеанса, насколько могу, на общем хостинге, что довольно прилично, но это на случай, когда кто-то уходит, читает книгу или что-то в этом роде и пытается вернуться к тому, что они делали.
Я хотел бы определить тайм-аут сеанса, а затем перенаправить на страницу, на которой написано: «Время ожидания вашего сеанса истекло. Нажмите здесь, чтобы снова войти в систему.» Они нажимают, чтобы снова войти в систему, а затем возвращаются обратно на страницу, на которой они были.
Или что-то в этом роде.
Ответ №1:
Вы могли бы это сделать, но я не знаю, стоило ли бы это затраченных усилий.
Если вы знаете оставшееся время допустимого сеанса, вы могли бы передать его в JavaScript, который мог бы setTimeout()
(если число достаточно мало) или setInterval()
. По истечении времени он может вызвать window.location.reload()
.
Комментарии:
1. Интересно. Я думал не в вашем направлении, но это, похоже, самый эффективный способ. Возможно, более изящной вещью было бы показать диалоговое окно, в котором говорится: «Время ожидания вашего сеанса истекает через одну минуту. Нажмите здесь, чтобы обновить свою страницу и продолжить сеанс.»