Druzya.org
Возьмемся за руки, Друзья...
 
 
Наши Друзья

Александр Градский
Мемориальный сайт Дольфи. 
				  Светлой памяти детей,
				  погибших  1 июня 2001 года, 
				  а также всем жертвам теракта возле 
				 Тель-Авивского Дельфинариума посвящается...

 
liveinternet.ru: показано количество просмотров и посетителей

Библиотека :: Компьютеры и Программирование :: Котеров Д. В. - Самоучитель PHP 4
<<-[Весь Текст]
Страница: из 287
 <<-
 
Вывод параметров командной строки 
 
 
 
Если теперь мы запустим этот сценарий из браузера (перед этим сохранив его в 
фай- 
ле test.php в корневом каталоге сервера) примерно вот таким образом: 
http://www.myhost.com/test.php?aaa+bbb+ccc+ddd 
то получим документ следующего содержания: 
Данные из командной строки: aaa+bbb+ccc+ddd 
Обратите внимание на то, что URL-декодирование символов не произошло: строка 
$QUERY_STRING, как и одноименная переменная окружения, всегда приходит в той 
же самой форме, в какой она была послана браузером. Давайте запомним этот не- 
большой пример — он еще послужит нам в будущем. 
Так как PHP изначально создавался именно как язык для Web-программирования, то 
он дополнительно проводит некоторую работу с переменной $QUERY_STRING перед 

Глава 8. Работа с данными формы 145 
тем, как управление будет передано сценарию. 
А именно, он разбивает ее по пробельным символам (в нашем примере пробелов нет, 

их заменяют символы +, но эти символы PHP также понимает правильно) и помещает 
полученные кусочки в массив-список $argv, который впоследствии может быть про- 
анализирован в программе. Заметьте, что здесь действует точно такая же техника, 

которая принята в Си, с точностью до названия массива с аргументами. 
Все же массив $argv используется при программировании на PHP крайне редко, что 
связано с гораздо большими возможностями интерпретатора по разбору данных, по- 
ступивших от пользователя. Однако в некоторых (обычно учебных) ситуациях его 
применение оправдано, так что не будем забывать об этой возможности. 
Формы 
Вернемся к поставленной задаче. Как нам сделать, чтобы пользователь мог в 
удобной 
форме ввести свое имя и возраст? Очевидно, нам придется создать что-нибудь типа 

диалогового окна Windows, только в браузере. Итак, нам понадобится обычный 
HTML-документ (например, по имени form.html в корневом каталоге) с элементами 
этого диалога — текстовыми полями — и кнопкой. Давайте возьмем ту же самую 
форму, которую я уже приводил в примере в первой части книги, только теперь мы 
уже будем не просто разбирать, как и куда поступают данные, а напишем сценарий, 

который эти данные будет обрабатывать (листинг 8.2). 
Листинг 8.2. form.html: страница с формой 
 
Введите имя:
Введите возраст:
Загрузим наш документ в браузер. Теперь, если ввести в поле с именем свое имя, а в поле для возраста — свой возраст и нажать кнопку, браузер автоматически обратится к сценарию hello.php и передаст через ? все атрибуты, расположенные внутри тэ- гов в форме и разделенные символом & в строке параметров. Заметьте, что в атрибуте action тэга
мы задали относительный путь, т. е. сценарий hello.php будет искаться браузером в том же самом каталоге, что и файл form.html. Как мы знаем, все перекодирования и преобразования, которые нужны для URL- кодирования данных, осуществляются браузером автоматически. В частности, буквы Часть III. Основы языка PHP 146 кириллицы превратятся в %XX, где XX — некоторое шестнадцатеричное число, обо- значающее код символа. Использование форм позволяет в принципе не нагружать пользователя такой инфор- мацией, как имя сценария, его параметры и т. д. Он всегда будет иметь дело только с полями, переключателями и кнопками формы. Листинг 8.3. hello.php — модель простого PHP-сценария Я знаю, Вам $age лет!"; ?> Осталось теперь только определиться, как мы можем извлечь $name и $age из стро- ки параметров. Конечно, мы можем попытаться разобрать ее "вручную" при помощи стандартных фу
 
<<-[Весь Текст]
Страница: из 287
 <<-