Создать сеанс сеанса на 1 странице или на всех страницах?

Все учебные пособия говорят о начале сеанса. Они не говорят, что это должно быть на всех страницах на веб-сайте, или на некоторых, или только на 1.

И если это только 1 страница, это должна быть главная страница? Или страницу с формой, которую я создаю, которая помещает идентификатор сеанса в базу данных? Если посетитель никогда не посещает страницу с идентификатором сеанса, но они находятся на сайте, они все еще имеют идентификатор сеанса?

Ответ 1

Вам нужно поместить это на каждую страницу, которая должна получить доступ к данным сеанса перед доступом (или созданием) данных сеанса.

Смотрите: http://php.net/manual/en/function.session-start.php

Ответ 2

Только для полноты вы можете написать session_start(); на всех страницах, только в одном или ни в одном из них. Позвольте мне объяснить это.

Вам нужно запустить сеанс в каждом script, где вам нужен доступ к переменной $_SESSION, но вместо того, чтобы помещать session_start(); в каждый отдельный script, вы можете создать файл headers.php и поместить туда весь свой повторяющийся код включая session_start();

Если все в вашем приложении нуждается в доступе к $_SESSION, вы можете забыть использовать session_start();, просто установив session.auto_start = 1 в ваш файл php.ini. Вы сможете получить доступ к $_SESSION без записи session_start(); раньше.

Подробнее здесь

Ответ 3

Все, что собирается получить доступ к переменным сеанса, должно начать сеанс.

Поэтому, если у вас нет страницы php, которая не зависит от сеанса, чем каждая страница нуждается в ней.

Ответ 4

Вам нужно объявить session_start(); на каждой странице, если вы хотите получить данные из $_SESSION или хранить данные в $_SESSION на этой странице. Если вам не нужно взаимодействовать с $_SESSION, вам не нужно объявлять session_start(). @Hmwhat