Как мне эффективно создать обработчик тайм-аута сеанса в PHP?

#php #session-timeout

#php #тайм-аут сеанса

Вопрос:

Как мне эффективно создать обработчик тайм-аута сеанса в PHP? Я создаю сайт членства, на котором пользователь входит в систему, я устанавливаю переменную сеанса, в которой он успешно вошел в систему, а затем начинаю показывать данные о членстве, когда в session var для этого указано member = yes. Проблема в том, что время ожидания сеанса истекает. Конечно, я уже устанавливаю тайм-аут сеанса, насколько могу, на общем хостинге, что довольно прилично, но это на случай, когда кто-то уходит, читает книгу или что-то в этом роде и пытается вернуться к тому, что они делали.

Я хотел бы определить тайм-аут сеанса, а затем перенаправить на страницу, на которой написано: «Время ожидания вашего сеанса истекло. Нажмите здесь, чтобы снова войти в систему.» Они нажимают, чтобы снова войти в систему, а затем возвращаются обратно на страницу, на которой они были.

Или что-то в этом роде.

Ответ №1:

Вы могли бы это сделать, но я не знаю, стоило ли бы это затраченных усилий.

Если вы знаете оставшееся время допустимого сеанса, вы могли бы передать его в JavaScript, который мог бы setTimeout() (если число достаточно мало) или setInterval() . По истечении времени он может вызвать window.location.reload() .

Комментарии:

1. Интересно. Я думал не в вашем направлении, но это, похоже, самый эффективный способ. Возможно, более изящной вещью было бы показать диалоговое окно, в котором говорится: «Время ожидания вашего сеанса истекает через одну минуту. Нажмите здесь, чтобы обновить свою страницу и продолжить сеанс.»