Оглавление

23.2. Часто используемые переменные окружения

Рассмотрим наиболее часто используемые переменные окружения:
□ $_SERVER['DOCUMENT_ROOT'] — путь к корневому каталогу сервера;
□ $_SERVER['REMOTE_ADDR'] — IP-адрес запрашивающего ресурс клиента;
□ $_SERVER['REMOTE_USER'] —  имя  пользователя, прошедшего  аутентификацию;
□ $_SERVER['QUERY_STRING'] — строка переданных серверу параметров;
□ $_SERVER['HTTP_USER_AGENT'] — название и версия Web-браузера клиента;
□ $_SERVER['HTTP_REFERER'] — URL-адрес, с которого пользователь перешел на наш сайт;
□ $_SERVER['REQUEST_METHOD'] — метод передачи информации (GET или POST).
 

 

Предположим, что пользователь заполнил форму с одним текстовым полем, имеющим имя text1 (name="text1"). При передаче данных методом GET сервер сформирует следующие переменные:
  $text1
  $_GET['text1']
  $HTTP_GET_VARS['text1']

  $_REQUEST['text1']
Если передача формы осуществлялась методом POST,  то  сервер  сформирует другие переменные:
  $text1
  $_POST['text1']
  $HTTP_POST_VARS['text1']
  $_REQUEST['text1']

 

Значением этих переменных будет текст, введенный пользователем в текстовое  поле.  Переменная  $text1  будет  доступна,  только  если  в  файле php.ini включена поддержка глобальных переменных:
  register_globals = On
Массивы  $HTTP_GET_VARS  и  $HTTP_POST_VARS  будут  доступны,  только  если  в файле php.ini включена директива register_long_arrays:
  register_long_arrays = On

Если  поддержка  глобальных  переменных  отключена,  то  обычно  в  начале сценария сам программист формирует короткое имя переменной:


if (isset($_GET['text1'])) $text1 = $_GET['text1'];
else $text1 = '';


или

if (isset($_POST['text1'])) $text1 = $_POST['text1'];
else $text1 = '';


Остальные  переменные  окружения  используются  реже,  а  по  названиям  интуитивно  понятно  их  предназначение. В  дальнейшем  мы  еще  не  раз  будем возвращаться к переменным окружения.

Примечания:
  • В PHP 6  больше  не  будет  возможности  использования  глобальных  переменных  и  массивов  $HTTP_*_VARS.  Они  будут  полностью  исключены.
    В PHP 5.3 они помечены как устаревшие. По этой причине привыкайте использовать массивы $_GET и $_POST.
Комментарии принадлежат их авторам. Мы не несем ответственности за их содержание.
Отправитель Нити