Анимация
JavaScript
|
Главная Библионтека Основы обработки форм Наверняка во время работы в Internet вам приходилось заполнять различные формы HTML. Это могли быть формы регистрации, добавления в список рассылки, заказов, отзывов, опросов и многие другие. Все они используются для сбора всевозможной информации, например адресов электронной почты или настроек внешнего вида Web-узла. Что же происходит, когда пользователь щелкает на кнопке Submit (Подать запрос)? Обычно после этого данные формы передаются в CGI-программу. На этом занятии вы узнаете, как передать данные формы в CGI-программу для их дальнейшей обработки. Основные темы этого занятия. • Основы обработки форм фамме наРег(. • Отладка офамм для обработки форм. • Создание безопасных CGI-программ. Как работают формы Скорее всего, вы уже использовали формы, умеете их создавать и знаете, как они работают. Тем не менее мы освежим в вашей памяти информацию, касающуюся форм HTML. Краткий обзор элементов PmHTML Перед тем как разбираться, каким образом работают формы, вы должны вспомнить роль и назначение всех элементов форм. Исходный код в формате HTML, представленный в этой книге, неполон. Для демонстрации возможностей CGI-программ мы использовали лишь часть стандарта HTML. Некоторые дескрипторы HTML, такие как <HEADb. <BODY> или <DOCTYPE>, вообще не встречаются в наших примерах. Все копии экрана не содержат никаких графических элементов. Вы можете свободно добавить их по собственномуусмотрению. Форма HTML - часть документа HTML, служащая для организации ввода информации пользователем. При загрузке броузером Web-страницы с формой различные дескрипторы HTML создают на странице зоны пользовательского ввода. Пользователь может изменять состояние таких элементов, как флажки, переключатели, списки и текстовые поля. По окопчапии работы с элементами ввода в Web-броузере данные формы пересылаются CGJ-программе для обработки. В листинге 18,1 приведен код HTML типичной формы. Ли18.1. Не форма П: <FORM action=http: www.server.com/cgi-bin/submit.cgi" method="get"> 2: <1шилия: <1НРПТ ТУТехЬ" name=-name"> 3: <ВЯ>Описавие: 4: <BR><TEXTAREA name="description- rows=S aDls=0> 5: /TE5fl?5E? 6: <IHP1]T type=Tadio" narre"sex" value=-male">Hyi. 7: <INPDT tYpeF"radio" namE"seK" value="female">JteH. 8: R> 9: <INPUT type="submit" value="3anpoc"><INPUT type="reset"> 10:</F0RH> c. 18.1 приведен вид этой формы в Web-броузере Internet Explorer 5. ae:\Books\peie№mpic5\istiejiltni- Mbtrflnteniete..- ИШ 4Ура;2ЕДВаЫ\рёг .,>Т1вР»хви Ссылки " Фамилия: Иванов Описание Хороший мальчик! Муж, fЖен. 1 Готова тттт 1 Мой-компьютер;-;::.:.-;!-!; Рис,1, Вид формы,, приведенной в стинге 18.1, в Ус-брсузере Internet Explorer 5. Дескриптор RM> обозначает начало формы в документе HTML. Его атрибут method указывает, какой способ будет использован для передачи данных этой формы серверу - GET или POST. Если он отсутствует, для передачи данных формы COI-программе используется метод ET. Разница между этими методами будет объяснена позже. Атрибут action определяем профаммы, получающей данные формы. Дескриптор предоставляет пользователю область ввода, в данном случае пустое текстовое поле. Этому текстовому полю присвоено имя "name". Дескриптор отображается в броузере как поле для ввода нескольких строк текста. Его важнейший атрибут - name. Здесь его значение - "description". Каждый элемент формы HTML должен иметь свой атрибут name, не совпадающий с подобными атрибутами остальных элементов формы. Когда данные формы поступают в CGI-программу для обработки, атрибуты name позволяют идентифицировать поля данных. Элементы переключателя являются исключением из правила, согласно которому каждый элемент формы должен иметь уникальное имя. Переключатели могут объединяться в группы. В группе может быть выделен лишь один переключатель. У каждой группы переключателей должен быть собственный атрибут name. Последний элемент формы - кнопка Submit. После щелчка пользователя на ней значения формы передаются в CGI-программу для дальнейшей обработки. Мы поговорим об этом в следующем разделе. В спецификации HTML 4,0 нредусмотрены и другие элементы формы, однако мы не будем приводить их полное описание на страницах данной книги. Многие элементы форм содержат различные атрибуты свойств, как, например, rows и cols в элементе TEXTAREA предьдаущей формы. Во всех примерах мы будем использовать лишь основные атрибуты элементов. С полной спецификацией HTML 4.0, содержащей асе допустимые элементы форм и их атрибуты, можно ознакомиться на Web-сервере http: www.w3c.org. Что происходит после щелчка на кнопке Submit? После того как пользователь заполнит в Web-броузере форму, происходит следующая последовательность событий. • Данные формы группируются Web-броузером в пары имя-значение (рис. 18.2). Например, в приведенной форме поле name получает значение введенного пользователем текста. Поле sex получает значение выделенного переключателя. Эту работу выполняет Web-броузер. Wcb-броузс; FI0="HsaBOB" <IKPDT TYPE=TEXT SM!E=FIO> Рис, 18.2. Броузер группирует пар1 имен полей и их значений Устанавливается соединение с узлом, соответствующим указанному Предположительно, это URL CGI-профаммы (рис. 18.3). URL. Web-сервер
Рис, 18,3, Брор устанавливает соединение с сервером 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 [ 87 ] 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 |