Суперглобальные переменные PHP и Register_Globals
В PHP есть особый тип переменных, который называется суперглобальным. Причина, по которой эти переменные являются особыми, заключается в том, что они автоматически доступны любой программе PHP без того, чтобы программист создавал или определял их в своей программе. Вы можете думать о них как о «встроенных» переменных.

Способ доступа к этим переменным зависит от того, включен ли параметр register_globals на вашем сервере. До версии PHP 4.2, register_globals был включен по умолчанию. Однако делать это из соображений безопасности; этот параметр теперь отключен по умолчанию (версия 4.2+). Конечно, люди, которые запускают ваш сервер, должны решить, следует ли переопределить настройку по умолчанию и включить register_globals. Самый простой способ проверить свой собственный сервер - использовать phpinfo (). Вероятно, у вас будет ссылка на эту веб-страницу в административной области вашего сайта. На этой веб-странице вы найдете раздел «Конфигурация PHP Core», содержащий эту информацию.

Как уже упоминалось выше, вы получите доступ к суперглобалам по-разному в зависимости от настроек вашего сервера. Для новой настройки сервера суперглобалам были даны новые имена. Если ваш сервер все еще имеет старые настройки, было бы лучше начать использовать новые имена в любом случае. Если вы используете эти новые имена, вы можете быть уверены, что ваши программы будут работать в обеих конфигурациях сервера. Однако это не относится к старым именам. Они будут работать только для старой конфигурации сервера. В таблице ниже показаны старые и новые имена и описание суперглобалистов. Обратите внимание, что имена этих суперглобалистов пишутся заглавными буквами.

новыйстарыйОписание
$ _GET $ HTTP_GET_VARS Этот суперглобальный элемент содержит переменные, отправленные в программу методом get, например строку guery.
$ _POST $ HTTP_POST_VARS Этот суперглобальный элемент содержит переменные, отправленные в программу методом post.
$ _COOKIE $ HTTP_COOKIE_VARS Этот суперглобальный файл содержит переменные, доступные программе из файла cookie.
$ _SESSION $ HTTP_SESSION_VARS Этот суперглобальный содержит переменные, зарегистрированные программой через сеанс.
$ _FILES $ HTTP_POST_FILES Этот суперглобальный содержит переменные, доступные из загрузки файла.
$ _ENV $ _HTTP_ENV_VARS Этот суперглобальный содержит переменные, доступные из серверной среды.
$ _REQUEST -- Этот суперглобальный элемент содержит переменные, отправляемые в программу любым типом пользовательского ввода. Это самый общий или универсальный тип суперглобала.
$ _SERVER -- Этот суперглобальный файл содержит информацию о сервере, такую ​​как пути к файлам.