У меня есть сайт с несколькими сотнями страниц. Большинство страниц не имеют session_start() вверху. У меня есть это на странице index.php, где мне нужна информация из переменной сеанса. Но если пользователь перейдет на страницу без session_start(), а затем вернется на страницу index.php, сеанс больше не активен. Это верно? Нужно ли мне это на КАЖДОЙ странице, чтобы поддерживать его?Выполняется ли сеанс, если пользователь приземляется на страницу без session_start()?
0
A
ответ
0
No.
Это все работает на основе куки, хранящейся в браузере. Браузер отправляет cookie, и PHP использует это для загрузки данных сеанса. Если cookie отправляется, но сеанс не запускается, используя session_start
, данные все еще там. (Как правило, хранится в /tmp
где-то.)
3
Сеанс activity
определяется в последний раз данных сеанса был доступ к вашему коду (в буквальном смысле - в последний раз вы вызвали session_start()
).
Если время, прошедшее с момента последнего доступа, больше session.gc_maxlifetime
, то оно собирается сборщиком мусора (с некоторой вероятностью).
Так что, если страница без session_start()
не будет явно «завершать» ее, но не будет обращаться к данным сеанса в течение некоторого времени - будет.
Смежные вопросы
- 1. Может ли пользователь изменить сеанс PHP?
- 2. Как установить переменную URL-адреса, когда пользователь приземляется на странице?
- 3. Можем ли мы начать новую страницу без написания session_start()?
- 4. PHP session_start()
- 5. Как запустить скрипт, только когда пользователь приземляется на странице
- 6. Могу ли я подключиться() без session_start()?
- 7. аннулировать сеанс, если пользователь открывает несколько вкладок
- 8. Request.RedirectToRoute в Session_Start заставляет сеанс перезапускать
- 9. PHP session_start не возобновляет сеанс
- 10. Как проверить, выполняется ли сеанс ChromeCast
- 11. Загрузить session_start() только в том случае, если сеанс не существует?
- 12. Предупреждающий пользователь, если сеанс истекает, возможность возобновить сеанс
- 13. Перенаправление на страницу входа, если сеанс не существует в PHP
- 14. перенаправить на страницу индекса входа, если пользователь не вошел в систему?
- 15. Simplesamlphp проверяет, имеет ли пользователь сеанс на IdP
- 16. Переменная сеанса не переносится на следующую страницу - session_start() был запущен
- 17. Вместо добавления другого элемента Он приземляется на другую страницу
- 18. Как перенаправить на страницу входа, если сеанс недоступен в MVC
- 19. jQuery продолжается, даже если пользователь покинул страницу
- 20. Проверьте, существует ли сеанс
- 21. Spring Security - сеанс отключен, если пользователь активен на странице
- 22. PHP session_start() не удается создать сеанс
- 23. Что произойдет, если я не вызову session_start()?
- 24. сеанс сеанса Предупреждение session_start() в php 5.4
- 25. Как session_start заставляет мою страницу застревать
- 26. Перенаправление на страницу входа, если пользователь не зарегистрирован
- 27. session_start() - Не удается отправить сеанс cookie
- 28. PHP session_start(): Не удается отправить сеанс cookie
- 29. Как известно session_start, возобновить или начать сеанс?
- 30. Аутентификация, если пользователь зарегистрирован, и если сеанс и db соответствуют
Нет. До тех пор, пока файл cookie сеанса остается «вживую» в браузере, а сервер не называет соответствующий файл сеанса, сеанс «живой». Он может быть не использован, но он не будет разбит только потому, что вы попали на страницу, которая на самом деле ее не использует. Если он остается неиспользованным достаточно долго, тогда он будет очищен и уничтожен. –
Я думаю, что я {{MIGHT}} разобрался в моей проблеме. Я отскакивал от www.domain.com до domain.com. Я предполагаю, что это убивает сессию, поскольку она рассматривается как новый URL. Кажется ли это, что это может быть моей проблемой? Когда вы меняете все на www.domain.com, похоже, я работаю так, как я надеялся. – Rick