Скачиваний:
24
Добавлен:
24.04.2015
Размер:
266.24 Кб
Скачать

Задание 4. Создание пользовательских форм

HTML-формы — это совокупность стандартных HTML-конструкций ввода текстовой и другой информации для программы-обработчика этой информации, работающей на Web-сервере. HTML-форма выступает в роли посредника между пользователем и сервером. Посетитель Web-страницы вводит в HTML-форму определенные данные, которые обрабатываются программой и отсылаются на Web-сервер. Все эти действия укладываются в три стадии:

  1. Ввод пользователем информации.

  2. Обработка введенной информации программой, установленной на сервере.

  3. Получение результата отправления введенной информации на Web-сервер (открытие нового HTML-документа, переадресация на предыдущую страницу и пр.).

В качестве программы-обработчика чаще всего выступает CGI-сценарий (скрипт, который обычно разрабатывается на языке Perl или C/C++ и который взаимодействует со специальным компонентом Web-сервера —Common Gateway Interface) или программы, написанные на основе таких серверных языков программирования, как PHP, ASP, JSP и др.

Значение пользовательских форм трудно переоценить — они являются особым средством HTML, дающим посетителю возможность не только пассивно просматривать информацию, но и быть задействованным в содержании Web-сайта. Такое свойство принято называть интерактивностью, которая на сегодняшний день встречается практически во всех электронных документах.

Основная схема формы

Форма — это блок HTML-кода, образованный специальными элементами HTML. Границами такого блока служат, как легко догадаться, дескрипторы <FORM>:

<FORM параметры>

</FORM>

Параметры формы Параметр action

Действие, которое следует выполнить с введенными в форму данными, определяется параметром action. Точнее, этот- параметр определяет не столько само действие, сколько URL, по которому расположен обработчик данных. Чаще всего в качестве такого обработчика выступает специальная программа. Эта программа может быть расположена как на удаленном сервере, так и на компьютере посетителя страницы. Путь к программе-обработчику может быть как относительный, так и абсолютный.

Написана она может быть, в принципе, на любом языке. Наиболее распространенными типами исполняемых на стороне сервера файлами являются CGI-программы (с расширениями pi, cgi, fcgi), PHP-скрипты (php, php3, phtm, phtml), ASP-приложения (asp), JSP-обработчики (jsp) и др.

Параметр ACTION является единственным обязательным параметром тега<FORM>:

<FORM ACTION="/cgi-bin/form.cgi">

Впрочем, вместо адреса программы-обработчика значением параметра action может быть обычный адрес электронной почты. Тогда данные формы будут просто отправлены по этому адресу, а что с ними делать дальше — решит получатель.

Параметр method

Каким способом передаются данные? Уточним сразу: HTML не вмешивается в способы кодирования и передачи информации по сетям Internet. Однако существует два принципиально разных метода: первый заключается в передаче самих данных ("покупатель: Александр Петров; номер карточки: 123456789; покупка: костюм мужской и т.д."), второй — в передаче указателя на то место, где они находятся (например, URL). То, какой именно из них используется для данной формы, определяется параметром method.

Передача данных соответствует значению post (в переводе с английского "переслать"), а передача ссылки — значению get ("получить").

По умолчанию используется последний вариант. Действительно, зачем лишний раз нагружать сеть? Лучше передать ссылку и этим ограничиться. Но передавать данные формы по электронной почте приходится полностью, а для этого используется значение post.

При использовании типа GET данные пользовательской формы пересылаются в составе адреса запроса браузера: после имени программы-обработчика ставится знак вопроса (?), обозначающий вывод запроса браузера к переменным HTML-формы, а также последовательность переменных и их свойств из самой формы. Последовательность переменных формы разделяется символом амперсанда “&”.

Пример адреса запроса браузера с использованием типа передачи данных GET:

http://www.site.ru/cgi-bin/form.cgi?Name =Vasya&Email=vasya@vasya.ru

Из структуры ссылки, образовавшейся в ходе обработки данных формы, понятно, что пользователь ввел свое имя ("vasya") и адрес электронной почты ("vasya@vasya.ru").

При использовании типа POST данные формы не отображаются в адресной строке браузера, а передаются в составе самого запроса программы-обработчика. Таким образом, используя этот тип, мы получим следующую гиперссылку (учитывая те же данные формы, что и в случае с типом GET):

http://www.site.ru/cgi-bin/form.cgi

Следует отметить, что пользовательская форма может включать информацию о пользователе, носящую конфиденциальный характер (например, пароли доступа), которая будет отображена в запросе браузера при использовании типа GET. В этом случае вся секретная информация, введенная пользователем, будет доступна для просмотра любому пользователю данного компьютера (просмотр истории перехода по Web-сайтам в браузере легко обнаружит ссылку с конфиденциальными данными).

Но в конечном итоге выбор типа передачи данных на Web-сервер определяется конкретной задачей, стоящей перед автором HTML-формы, особенностями сервера и самой программы-обработчика.

Соседние файлы в папке Лабораторные работы_HTML