Учебное пособие: Web-программирование. Обработка HTML-форм

Сначала рассмотрим наиболее простой способ передачи параметров сценарию — непосредственный набор их в URL после знака? — например, в формате l ogin=имя&password=napoль .

Пусть на сервере в корневом каталоге есть сценарий на РНР под названием hello.php . Этот сценарий распознает 2 параметра: login и password .

Поэтому, если задать в адресной строке браузера:

http://localhost/heIlo.php?login=root&password=Z10N0101

то должны получить требуемый результат.

Задача поставлена, можно приступать к ее решению. Но прежде полезно решить аналогичную, но более простую задачу.

Как же нам в сценарии получить строку параметров, переданную после знака вопроса в URL при обращении к сценарию? Для этого можно проанализировать переменную окружения QUERY_STRING , которая в РНР доступна под именем $_SERVER[QUERY_STRING] .

Напишем пример, чтобы это проиллюстрировать (листинг qs.php ).

Листинг qs.php. Вывод параметров командной строки.

<?php

echo «Данные из командной строки: $_SERVER[QUERY_STRING]»;

?>

Если теперь запустить этот сценарий из браузера (перед этим сохранив его в файле test.php в корневом каталоге сервера) таким образом:

http://localhost/qs.php?this+is+the+world/

то получим документ следующего содержания: Данные из командной строки: this+is+the+world

Обратите внимание на то, что URL -декодирование символов не произошло: строка $_server [' query_string '] , как и одноименная переменная окружения, всегда приходит в той же самой форме, в какой она была послана браузером.

Так как РНР изначально создавался именно как язык для Web-программирования, то он дополнительно проводит некоторую работу с переменной query_string перед передачей управления сценарию. А именно, он разбивает ее по пробельным символам (в примере пробелов нет, их заменяют символы + , но эти символы РНР также понимает правильно) и помещает полученные кусочки в массив-список $argv , который впоследствии может быть проанализирован в программе.

Массив $argv используется при программировании на РНР крайне редко, что связано с большими возможностями интерпретатора по разбору данных, поступивших от пользователя. Однако в некоторых (учебных) ситуациях его применение оправдано.

2.1. Форма для передачи данных

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

Листинг form.html. Страница с формой

<html>

<body>

<form action=hello.php>

Имя : <input type=text name=”login” value=””<br>

Пароль : <input type=password name=”password” value=””<br>

<input type=”submit” name=”go” v а 1ue = “ Передать “ ><br>

<input type=”reset” v а 1ue = “ Очистить форму ” ><br>

</form>

К-во Просмотров: 543
Бесплатно скачать Учебное пособие: Web-программирование. Обработка HTML-форм