Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Web / Методичка по WEB.doc
Скачиваний:
76
Добавлен:
15.04.2015
Размер:
4.17 Mб
Скачать

4. Язык гипертекстовой разметки страниц html. Формы

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

4.1 Задание формы

Форма может располагаться в любом месте тела документа, между тегом <form> и его закрывающим тегом </form>. Внутри формы располагаются теги задающие элементы интерфейсаinput,select,textarea. Атрибуты тега.

Атрибутaction‑ задаетURLприложения, которое должно получить и обработать данные формы.

Пример. Задание скрипта обработки данных формы.

Передаёт значения формы скрипту update, расположенному в каталогеcgi-binна вебсервереmysite.

<form action="http://www.mysite/cgi-bin/update">...</form>

URL-адрес файла обработчика, написанной на языке Perl:

<form action="http://mysite.com/scripts/myprogram.pl">

URL-адрес скрипта нa asp-файл (Active Server Page):

<form action="www.anyserver.ru/mypage.asp">

URL-адрес скрипта на РНР " файл:

<form action="www.anyserver.ru/mypage.php">

Для отправки данных по электронной почте по указанному адресу:

<form action="mailto:my@server.ru">

Атрибут method‑ устанавливает метод, посредством которого браузер передает серверу для обработки данные формы. Существуют два методаPOSTи методGET(по умолчанию). Следуя методуPOST, браузер передает данные в два шага: во-первых, браузер устанавливает связь с обрабатывающим форму сервером, адрес которого указан в атрибутеaction, и, во-вторых, когда связь установлена, посылает данные серверу в отдельном сеансе связи. МетодGET, напротив, соединяется с обрабатывающим форму сервером и отправляет данные за один шаг.

Метод GETиспользуют при передаче небольших объемов данных.POSTприменяется при передаче больших объемов данных и сообщений электронной почты, данные находиться в теле запроса.

Маленькие формы с небольшим числом коротких полей обычно посылаются методом GET. Для отправки форм, с большим числом полей или полей содержащих длинные текстовые записи, используется методPOST.

Если защищенность данных представляется важной, лучше использовать POST.GETдобавляет параметры формы прямо к URL запросу, где они могут быть легко перехвачены сетевыми анализаторами пакетов или выделены из регистрационного журнала сервера. При передаче методомPOST,можно воспользоваться шифровкой параметров, передаваемых в отдельном сеансе связи с сервером.

Атрибут enctype– метод кодирования данных передаваемых на сервер. Возможные значения:

  • application/x-www-form-urlencoded– преобразует все пробелы в значениях формы в знаки «плюс» (+), символы, отличные от латинских букв и цифр, – в знак процента (%), за которым следуют две шестнадцатеричные цифры, являющиеся ASCII кодом символа, а разрывы строк в многострочных данных – в%0D%0A. Для каждого элемента формы генерируется своя параимя=значение. При использовании методаgetтакие пары разделяются амперсандом (&). Например, вот что браузер посылает серверу после того, как пользователь заполнил форму с двумя полями ввода, имена которыхnameиaddress. В первом поле только одна строка текста, тогда как второе содержит несколько строк ввода:

name=Lena+Ivanova&address=Gomel+Sovetskaya+187

  • multipart/form_data‑ используется с формами, содержащими поле выбора файла, который загружает пользователь. Кодировка включает поля формы в виде отдельных частей. У каждого поля в результирующем пакете есть соответствующий сегмент, отделенный от сегментов соседей стандартным разделителем. В каждом сегменте одна или несколько заголовочных строк определяют имя поля, за которым следуют одна или несколько строк, содержащих его значение. Эта кодировка более сложная и длинная по сравнению сapplication/x_www_form_urlencoded. Поэтому она применяется, только при передаче метоломpost.

-------------146931364513459

Content Disposition: form data; name="name"

Lena Ivanova

------------146931364513459

Content Disposition: form data; name="address"

Gomel Sovetskaya 187

-------------146931364513459

  • text/plain‑ применяется при посылке форм по адресу электронной почты. Закодированными в этом формате остаются только символы возврата каретки и перевода строки в многострочных полях ввода.

Соседние файлы в папке Web