session_register
(PHP 4, PHP 5 < 5.4.0)
session_register — Регистрация одной или нескольких глобальных переменных текущей сессии
Описание
session_register() принимает переменное число аргументов, любой из которых может быть либо строкой, содержащей имя переменной, либо массивом, состоящим из имен переменных или других массивов. Для каждого имени, session_register() регистрирует глобальную переменную с таким именем в текущей сессии.
Вы также можете создать переменную сессии, просто установив соответствующий элемент в массиве $_SESSION.
<?php
// Использование session_register() объявлено устаревшим
$barney = "Большой фиолетовый динозавр.";
session_register("barney");
// Использование $_SESSION является предпочтительным
$_SESSION["zim"] = "Захватчик с другой планеты.";
?>
Если функция session_start() не была вызвана перед этой, то произойдет неявный вызов session_start() без параметров. В случае использования $_SESSION этого не произойдет, следовательно необходимо самостоятельно вызвать session_start().
Данная функция была объявлена УСТАРЕВШЕЙ, начиная с PHP 5.3.0 и была УДАЛЕНА в PHP 5.4.0.
Список параметров
-
name
-
Строка, содержащая имя переменной, либо массив, состоящий из имен переменных или других массивов.
-
names
-
Возвращаемые значения
Возвращает true
в случае успешного завершения или false
в случае возникновения ошибки.
Примечания
Если вы хотите, чтобы ваш скрипт работал независимо от register_globals, вам нужно использовать массив $_SESSION, так как записи $_SESSION будут автоматически зарегистрированы. Если ваш скрипт использует session_register(), она не будет работать в условиях, когда директива PHP register_globals отключена.
Замечание: register_globals: важное замечание
Начиная с PHP 4.2.0, значением директивы PHP register_globals по умолчанию является off (выключено). Сообщество PHP рекомендует не полагаться на эту директиву, а использовать вместо этого иные средства, такие как superglobals.
Эта функция регистрирует глобальную переменную. Если вы хотите зарегистрировать сессионную переменную изнутри функции, вы должны сделать эту переменную глобальной с помощью ключевого слова global или с помощью суперглобального массива $GLOBALS[], или использовать специальные сессионные массивы, указанные ниже.
Если вы используете $_SESSION, не используйте session_register(), session_is_registered(), и session_unregister().
Замечание:
Это в настоящее время невозможно зарегистрировать в сессии переменнтую типа resource. Например, вы не можете создать подключение к базе данных, хранить идентификатор соединения как переменную сессии и ожидать подключения к БД по этому идентификатору после восстановления сессии. Функции PHP, которые возвращают ресурсы, имеют в описании тип возвращаемого значения
resource
. Список таких функций можно посмотреть в приложении типы ресурсов.Если используются $_SESSION, присваитвайте значения $_SESSION. Пример: $_SESSION['var'] = 'ABC';
Смотрите также
- session_is_registered() - Определяет, зарегистрирована ли глобальная переменная в сессии
- session_unregister() - Отмена регистрации глобальной переменной в текущей сессии
- $_SESSION