Шаг 7.
Создание Internet-приложений в среде Delphi. Работа с формой

    На этом шаге мы рассмотрим создание формы.

    На прошлом шаге мы говорили о динамическом формировании Web-документов и теперь рассмотрим конкретный пример на эту тему. Одна из популярных задач в Интернете, это получение каких-либо сведений от клиента, их обработка на сервере и отправка клиенту документа-ответа. Задача эта решается в HTML-документах обычно при помощи формы. После заполнения формы, запрос отправляется на сервер при помощи метода POST, стандартного метода протокола HTTP. Метод используется для отправки сообщений на электронные доски объявлений, в группы новостей, для добавления информации в базу данных и вообще, в тех случаях, когда нужно получить от клиента данные и отправить их для обработки на сервер. Если в форму вводятся данные для формирования на их основе запроса, то в этом случае используется метод GET.

    Рассмотрим следующий пример. Допустим у нас на сервере организована телеконференция. И мы рассмотрим маленькую часть этого проекта: как получать от клиента новые сообщения, чтобы затем публиковать их на сервере. Задача состоит из двух частей: клиенту нужно заполнить форму и как-то послать данные на сервер; сервер должен получить эти данные и обработать. Первая половина задачи решается при помощи формы - стандартного элемента языка HTML. Форма включает в себя текст, элементы разметки, элементы управления (кнопки, флажки, радио-кнопки, меню и др.) и надписи к этим элементам управления. Поскольку у формы много возможностей, мы обсудим только те, что будем использовать в примере. Форма начинается с тега <FORM> и заканчивается тегом </FORM>. В начальном теге могут задаваться несколько атрибутов. Обязательно указывается атрибут ACTION, в котором задается URI получателя данных от формы. Обычно это имя сервера и имя приложения, которое должно обработать данные. Атрибут METHOD задает имя используемого метода протокола HTTP. О методах мы поговорим позже, скажем только, что в формах возможны только два значения - GET и POST. В случае метода GET данные формы используются для формирования запроса серверному приложению, которое должно сформировать ответ на основе этого запроса, и вернуть его клиенту. В нашем случае используется метод POST, предназначенный для публикации данных в Web. Вводятся данные с помощью тегов <INPUT>, <SELECT>, <TEXTAREA> и др. Тег <INPUT> обслуживает ввод строки текста, пароля (вводимые символы пароля при этом скрываются и могут заменятся, например, на символ "звездочка") и создание элементов управления флажок и радио-кнопка. Кнопки SUBMIT и RESET, используемые для отправки данных на сервер и очистки формы, также, создаются с помощью этого тега. При нажатии на кнопку RESET, удаляется введенная пользователем информация, и в элементы управления подставляются значения по умолчанию, определяемые атрибутом VALUE. Тип элемента указывается с помощью атрибута TYPE. Для перечисленных элементов управления этот атрибут принимает значения TEXT, PASSWORD, CHECKBOX, RADIO, SUBMIT и RESET. Тег <SELECT> применяется для задания меню. С помощью тега <TEXTAREA> можно ввести в форму текстовый блок. В обязательном порядке теги, задающие элементы управления должны, содержать атрибут NAME, с помощью которого каждому элементу присваивается имя, которое будет отсылаться программе-обработчику вместе со значением, полученным этим элементом управления, Из рассмотренных нами тегов в примере применяются <INPUT> и <TEXTAREA>. У этих тегов еще имеются размерные атрибуты SIZE, COLS и ROWS которые задают размер в символах и количество столбцов и строк в текстовом блоке. В этом примере используется таблица; с тэгами, используемыми для создания таблиц, можно познакомиться здесь.

    Форма для заполнения данными приводится ниже.

<html> 
<head> 
<title>Oтправка нового сообщения в конференцию</title>
</head>
<body>
Отсюда вы можете отправить новое сообщение. 
Для этого необходимо заполнить поля ввода и нажать кнопку "Отправить". 
Не обязательно все поля должны быть заполнены,
однако тема должна быть обязательно указана.
<center><h3>Hoвoe сообщение в конференцию</center> 
<form method=POST action="http://myserver/cgi-bin/newmessage.exe"> 
<table>
<tr>
  <td>Имя:</td>        
  <td><input type=text name="name" size = 50> </td>
</tr>
<tr>
  <td>Teмa : </td>        
  <td><input type=text name="subject" size = 50> </td>
</tr>
<tr>
  <td>Bam e-mail :</td>  
  <td><input type=text name="email" size=50></td
</tr> 
</table> 
Сообщение:<br> 
<textarea COLS = 80 ROWS = 5 name="body"></textarea>
<input type=submit name="post" value="0тправить">
<input type=reset  value="0чистить">
</form>
</body>
</html>
Приведенный HTML-документ можно взять здесь.

    На следующем шаге мы рассмотрим использование формы.




Предыдущий шаг Содержание Следующий шаг