session_name
(PHP 4, PHP 5, PHP 7, PHP 8)
session_name — Получает и (или) устанавливает название текущей сессии
Описание
Функция session_name() изменяет название сессии в блоке данных cookie HTTP-протокола,
а при включённой директиве session.use_trans_sid —
в содержимом вывода, если для сессии указали новое имя name
.
Функция session_name() выдаёт ошибку уровня E_WARNING
,
если функцию вызвали после отправки cookie HTTP-протокола. Функцию
session_name() вызывают до вызова функции
session_start(), чтобы сессия работала правильно.
При запуске запроса название сессии сбрасывается на значение по умолчанию,
которое хранится в директиве session.name
. Поэтому
функцию session_name() требуется вызывать для каждого запроса,
и до вызова функции session_start().
Список параметров
name
-
Название сессии ссылается на название сессии, которое сохраняется в блоках данных
cookie и подставляется в URL-адреса содержимого страницы. Пример имени сессии: PHPSESSID
.
Для имён сессий разрешается указывать только буквенно-цифровые символы; лучше предпочесть
короткие и понятные названия, которое, например, увидят пользователи с включённым предупреждением
о блоках данных cookie. Имя текущей сессии изменится на значение аргумента, если
в параметр name
передали аргумент, значение которого не равно null
.
Внимание
Название сессии нельзя составлять только из цифр, в имени требуется указать хотя бы
одну букву. При нарушении требования PHP каждый раз будет генерировать новый
идентификатор.
Возвращаемые значения
Функция возвращает имя текущей сессии. С параметром name
функция обновляет
название текущей сессии и возвращает старое название сессии или false
, если возникла ошибка.
Примеры
Пример #1 Пример использования функции session_name()
<?php
/* Устанавливаем для имени сессии значение "WebsiteID" */
$previous_name = session_name("WebsiteID");
echo "Раньше сессия называлась '{$previous_name}'";
?>