Пользовательское имя сеанса PHP

#php #session #session-variables

#php #сессия #переменные сеанса

Вопрос:

Я долгое время программировал веб-сайт, но никогда не использовал session_name() встроенную в PHP функцию для установки пользовательского имени сеанса вместо значения по умолчанию (PHPSESSID).

У меня была страница входа в систему, которая перенаправляет вас на другой файл после успешного входа в систему. В этом файле я в основном проверял isset($_SESSION) , не был ли я настроен на перенаправление на страницу входа в систему. В противном случае, говорю я Hello $_SESSION["Username"] .

Недавно я решил использовать session_name и задать пользовательское имя. Однако теперь скрипт во втором файле (проверяющий, был ли $_SESSION он установлен) всегда говорит, что он не установлен. Я просто изменил название сеанса.

Затем я поискал в Google и увидел, что мне нужно сделать еще раз sesssion_name() и session_start() во втором файле, чтобы получить доступ к имени пользователя.

TL; DR

Всегда ли мне нужно делать session_name() и session_start() для каждого файла, который я хочу получить, доступ к данным моего сеанса с пользовательским именем сеанса?

Я могу прояснить некоторые вещи, если это неясно; возможно, это будет нелегко понять.

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

1. Вам всегда нужно делать session_start() это на каждой странице, которой требуется доступ к переменным сеансов, независимо от того, используете вы имя сеанса или нет.

Ответ №1:

Вам нужно будет либо запускать session_name() каждый файл, которому требуется доступ к пользовательскому сеансу, сохранить логику в отдельном включаемом файле, который включается во все соответствующие файлы, либо изменить имя сеанса PHP по умолчанию с помощью session.name значения конфигурации.

Без указания session_name() в каждом конкретном случае PHP не будет знать, что вы хотите, чтобы он использовал другое имя, и вместо этого по умолчанию используется значение from session.name .