Ответ 1
Вам нужно поместить это на каждую страницу, которая должна получить доступ к данным сеанса перед доступом (или созданием) данных сеанса.
Смотрите: http://php.net/manual/en/function.session-start.php
Все учебные пособия говорят о начале сеанса. Они не говорят, что это должно быть на всех страницах на веб-сайте, или на некоторых, или только на 1.
И если это только 1 страница, это должна быть главная страница? Или страницу с формой, которую я создаю, которая помещает идентификатор сеанса в базу данных? Если посетитель никогда не посещает страницу с идентификатором сеанса, но они находятся на сайте, они все еще имеют идентификатор сеанса?
Вам нужно поместить это на каждую страницу, которая должна получить доступ к данным сеанса перед доступом (или созданием) данных сеанса.
Смотрите: http://php.net/manual/en/function.session-start.php
Только для полноты вы можете написать session_start();
на всех страницах, только в одном или ни в одном из них. Позвольте мне объяснить это.
Вам нужно запустить сеанс в каждом script, где вам нужен доступ к переменной $_SESSION
, но вместо того, чтобы помещать session_start();
в каждый отдельный script, вы можете создать файл headers.php и поместить туда весь свой повторяющийся код включая session_start();
Если все в вашем приложении нуждается в доступе к $_SESSION
, вы можете забыть использовать session_start();
, просто установив session.auto_start = 1
в ваш файл php.ini. Вы сможете получить доступ к $_SESSION
без записи session_start();
раньше.
Все, что собирается получить доступ к переменным сеанса, должно начать сеанс.
Поэтому, если у вас нет страницы php, которая не зависит от сеанса, чем каждая страница нуждается в ней.
Вам нужно объявить session_start(); на каждой странице, если вы хотите получить данные из $_SESSION или хранить данные в $_SESSION на этой странице. Если вам не нужно взаимодействовать с $_SESSION, вам не нужно объявлять session_start(). @Hmwhat