Читайте также: |
|
После того, как запрос клиента проанализирован веб-сервером и передан движку РНР, он устанавливает ряд переменных, которые содержат данные, относящиеся к запросу и доступны во время его выполнения. Если директива register_globals в php.ini выставлена в on, РНР берёт переменные окружения системы и создаёт переменные с теми же именами и значениями в окружении сценария РНР для того чтобы сценариям, расположенным на сервере, были доступны особенности системы клиента.
Вне зависимости от значения директивы register_globals, движок PHP создаёт ряд суперглобальных переменных:
· $GLOBALS - Содержит ссылку на каждую переменную, доступную в данный момент в глобальной области видимости скрипта. Ключами этого массива являются имена глобальных переменных.
· $_SERVER - Переменные, установленные web-сервером либо напрямую связанные с окружением выполнения текущего скрипта.
· $_GET - Переменные, передаваемые скрипту через HTTP GET.
· $_POST - Переменные, передаваемые скрипту через HTTP POST.
· $_COOKIE - Переменные, передаваемые скрипту через HTTP cookies.
· $_FILES - Переменные, передаваемые скрипту через HTTP post-загрузку файлов. И т.д.
Рассмотрим, как РНР создаёт группу GET-переменных, которые создаются при анализе строки запроса. Строка запроса представляет собой информацию, следующую за символом "?" в запрошенном URL. РНР разбивает строку запроса по символам & на отдельные элементы, а затем ищет в каждом из этих элементов знак "=". Если знак "=" найден, то создаётся переменная с именем из символов, стоящих слева от знака равенства:
<form action = "http://localhost/PHP/test.php" method="get">
HDD: <input type="text" name="hdd" /><br>
CDROM: <input type="text" name="cdrom" /><br>
<input type="submit"/>
Если в этой форме в строке HDD набрать, к примеру, "Maxtor", а в строке CDROM "Nec", то она сгенерирует следующую форму запроса:
http://localhost/PHP/test.php?hdd=Maxtor&cdrom=Nec
В нашем случае РНР создаст следующие переменные:
$hdd = "Maxtor"
$cdrom = "Nec"
Если register_globals==off, то РНР доступ к данным переменным следует осуществлять через массив $_GET:
$_GET["hdd"] = "Maxtor"
$_GET["cdrom"] = "Nec"
Если запрос страницы выполняется при помощи метода POST, то появляется группа POST-переменных, которые интерпретируются также и помещаются в массив $_POST.
Дата добавления: 2015-04-11; просмотров: 82 | Поможем написать вашу работу | Нарушение авторских прав |