Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции / !!! ИТ Архив / Лекции / 5_C G I / Лекция 2 - Обзор CGI.doc
Скачиваний:
26
Добавлен:
04.04.2013
Размер:
169.47 Кб
Скачать

Пример формы

Ниже представлена HTML-форма. В ней мы постарались отразить столько характерных особенностей форм, сколько удалось уместить в одном примере.

<html><head><title>Web-Банк</title></head>

<body>

<h1> Web-Банк </h1>

Добро пожаловать на страницу нашего банка. Вы не можете

положить или снять деньги, но Вы, конечно, можете

проверить состояние баланса, сделать перевод, и просмотреть

список последних транзакций.

<form method="post" action="/cgi-bin/banking.pl">

<pre>

Номер аккаунта: <input type="text" name="acct">

PIN: <input type="password" name="pin" size=8>

Транзакции: <select name="transaction">

<option selected>Баланс

<option>Перечисления

<option>Последние транзакции

<option>Неоплаченные чеки

</select>

<input type="radio" name="verify by mail" value="yes" checked> Послать подтверждение по почте

<input type="radio" name="verify by mail" value="no"> Не посылать подтверждения по почте

Присылать информацию о:

<input type="checkbox" name="info" value="cds"> Депозитах

<input type="checkbox" name="info" value="mortgages"> Процентах по займам за жилье

<input type="checkbox" name="info" value="autoloans"> Ставках по вкладам

Несколько слов о нашем сервисе:

<textarea rows=5 cols=60 name="comments"> </textarea>

<input type="submit"> <input type="reset">

</form>

</body></html>

Отметим, что в данной форме присутствует текстовое поле <input>, которое предназначено для ввода номера банковского счета пользователя. Для получения личного идентификационного номера пользователя (PIN) используется поле пароля, чтобы цифры, из которых он состоит, не появлялись на экране. (Как уже упоминалось, на практике эта мера не считается достаточной для защиты PIN, так как по Интернету введенные данные пересылаются незашифрованными.)

Затем следует список, в котором пользователь может выбрать операцию: получить данные об остатках по счетам, перевести деньги, просмотреть список последних операций по указанному счету либо приостановить платеж по чеку.

Для того чтобы пользователь мог получить уведомление о выполнении данной операции, использоваются две селекторные кнопки. По умолчанию уведомление отправляется. С помощью селекторных кнопок пользователь может выбрать только один из вариантов, т.е. он может либо получить, либо не получить уведомление. Отметим, что все элементы селекторных кнопок должны иметь одно и то же значение атрибута name и разные значения атрибута value.

Ниже расположено несколько опций, с помощью которых пользователь может указать, какую дополнительную информацию он хотел бы получить. В форме предусмотрен и блок ввода текста — <textarea>, который позволяет пользователю "выговориться", т.е. ввести комментарии и предложения. Наконец, в нижней части формы имеются две кнопки: кнопка передачи и кнопка сброса.

При передаче этой формы браузер посылает на сервер приблизительно следующий запрос:

POST /cgi-bin/banking.pl HTTP/1.0

Content-Length: 154

(другие заголовки)

acct=11732432&pin=0545&transaction=Account+balances&verify_by_mail=YES&info=cds,autoloans&comments=What+use+is+this+without+withdrawals+and+deposits%21%21