|
ейс CGI 37
Что такое формы
и для чего они нужны
Итак, мы знаем, что наиболее распространенными методами передачи данных между
браузером и сценарием являются GET и POST. Однако вручную задавать строки пара-
метров для сценариев и к тому же URL-кодировать их, согласитесь, довольно
утоми-
тельно. Давайте посмотрим, что же язык HTML предлагает нам для облегчения жиз-
ни.
Сначала рассмотрим метод GET. Даже программисту довольно утомительно набирать
параметры в URL вручную. Всякие там ?, &, %... Представьте себе пользователя,
ко-
торого принуждают это делать. К счастью, существуют удобные возможности языка
HTML, которые, конечно, поддерживаются браузерами. И хотя я уже замечал, что в
этой книге будет лишь немного рассказано о HTML, о формах мы поговорим очень
подробно.
Итак, пусть у нас на сервере в корневом каталоге размещен файл сценария
script.cgi (наверное, вы уже заметили, что расширение cgi принято присваивать
CGI-сценариям, хотя, как уже упоминалось, никто не мешает вам использовать
любое
другое слово). Этот сценарий распознает 2 параметра: name и age. Где эти
парамет-
ры задаются, мы пока не решили. При переходе по адресу
http://www.somehost.com/script.cgi он должен отработать и вывести сле-
дующую HTML-страницу:
Привет, name! Я знаю, Вам age лет!
Разумеется, при генерации страницы нужно name и age заменить на соответствую-
щие значения, переданные в параметрах.
Передача параметров "вручную"
Давайте будем включать параметры прямо в URL, в строку параметров. Таким обра-
зом, если запустить в браузере
http://www.somehost.com/script.cgi?name=Vasya&age=20
мы получим страницу с нужным результатом:
Привет, Vasya! Я знаю, Вам 20 лет!
Заметьте, что мы разделяем параметры символом &, а также используем знак равен-
ства =. Это неспроста. Сейчас мы обсудим, почему.
Часть I. Основы Web-программирования 38
Использование формы
Как теперь нам сделать, чтобы пользователь мог в удобной форме ввести свое имя
и
возраст? Очевидно, нам придется создать что-то вроде диалогового окна Windows,
только в браузере. Итак, нам понадобится обычный HTML-документ (например, с
именем form.html и расположенный в корневом каталоге) с элементами этого диало-
га — полями ввода текста и кнопкой, при нажатии на которую запустится наш
сцена-
рий. Текст этого документа приведен в листинге 2.1.
Листинг 2.1. Документ /form.html с формой
|
|