Виробниче навчання 24.02.15
Робота з формами. Створення навігаційних карт.

Зображення-карти.
|
Карти - це спосіб зробити різні частини
одного графічного зображення гіперпосиланнями. Вони дозволяють виділити окремі
області зображень і визначити для кожної з них свою дію.
Приклад:
<MAP NAME="ImageMap">
<AREA HREF="something.html"
SHAPE="rect" COORDS="0,0,70,140" ALT="Ліва
половина">
<AREA HREF="anything.html"
SHAPE="rect" COORDS="71,0,140,140" ALT="Права
половина">
</MAP>
<!-- Прикріплюємо до зображення-->
<IMG src="img/block.gif"
USEMAP="#ImageMap" HEIGHT="140" WIDTH="140"
BORDER="0">
У цьому прикладі ми створили квадратне
зображення block.gif розміром 140x140 пікселів, ліва частина якого є посиланням
на файл something.html, а права - на файл anything.html.
Як видно, для створення карти нобхідно
вставити в тег <IMG SRC=""> атрибут USEMAP="#name",
де name - ім'я карти (значок # обов'язковий). У прикладі використовувалася
назва ImageMap. Решта атрибутів у цій тезі є стандартною.
Описуємо активні області карти. Вони
відкривається тегом <MAP NAME="name"> (тут повторюється ім'я,
але вже без значка #), а закінчуємо таким, що закривається тегом </MAP>.
Між цими тегами подаємо опис кожної
активної області зображення:<AREA SHAPE="форма"
COORDS="координати" HREF="адреса"
TITLE="аль-тернативний текст">. Елемент <AREA> має наступні
атрибути та їх значення:
Параметр
|
Характеристика
|
SHAPE
|
Описує форму області, що виділяється,
можливі значення: RECT – прямокутник; CIRCLE – круг; POLY – багатокутник;
DEFAULT - визначає всю область, тобто весь малюнок може стати посиланням.
|
COORDS
|
Координати, що визначають розміри і
положення області на зображенні. Всі координати відлічуються в пікселях від
лівого верхнього кута зображення. Кількість і порядок значень залежить від
значення аттрибута SHAPE: RECT: - лівий-X, верхній-Y, правий-X, нижній-Y
(тобто спочатку координати лівого верхнього кута, потім правого нижнього);
CIRCLE: - центр-X, центр-Y, радіус (тобто горизонтальна і вертикальна
координати центру круга і радіус); POLY: - X1, Y1, X2, Y2, ..., Xn, Yn
(просто перераховуються координати всіх вершин багатокутника).
|
NOHREF
|
Визначає, що цій області не відповідає
жодне посилання. Де це може стати в нагоді? Ну, наприклад, якщо ви хочете
зробити посилання не у вигляді круга, а у вигляді кільця.
|
ALT
|
Альтернативний текст для виділеної області,
використовується невізуальними браузерами.
|
TITLE
|
Назва виділеної області, виводиться у
вигляді підказки, спливаючої при наведенні курсора на область малюнка.
|
TARGET
|
Значення цього аттрибута
("_top", "_blank", "_self" або
"_parent") визначає, в якому вікні буде відкритий документ
(див.наступний пункт).
|
Для того, щоб розрахувати точно
координати потрібної частини зображення існують спеціальні програми. Одна з них
називається MapEdit.
2. Створення
форми в HTML
2.1
Параметри тега <FORM>
Для створення форми на Web-сторінці в HTML-документі використовується
тег-контейнер <FORM> . . . </FORM>. Його вмістом є теги
<INPUT>, <TEXTAREA> <SELECT>, які призначені для створення
різних органів управління форми (полів вводу даних, кнопки, перемикачі та ін.).
Тег <FORM>містить наступні параметри:
·
ACTION -
вказує URL-адреса програми (CGI-програми для виконання дій над формою;
·
METHOD -
вказує один з двох основних способів передачі даних від форми на сервер:
o
GET -
CGI-додаток отримує дані з форми на Web-сторінці через змінну середовища з
ім'ям QUERY_STRING;
o
POST -
CGI-додаток отримує дані з форми на Web-сторінці через стандартний потік вводу
·
ENCTYPE -
вказує MIME-тип передачі даних.
Тег <INPUT> містить такі параметри:
·
TYPE -
вказує тип органу управління, його значеннями є:
o
text -
однорядкове поле для введення текстової інформації; розмір поля і число
символів визначається значенням SIZE та MAXLENGTH тега <INPUT>
o
textarea -
многострокове поле для введення текстової інформації; розмір поля і число
символів визначається значенням SIZE та MAXLENGTH тега <INPUT> (для
введення багаторядкових даних предподчтительнее використовувати тег
<TEXTAREA>);
o
password -
для введення пароля, аналогічний параметру text , але текст, введений
користувачем не відображається на екрані;
o
checkbox -
незалежний перемикач;
o
radio -
перемикач, що залежить від стану інших перемикачів, використовується для вибору
одного значення з декількох;
o
file - для
вибору і передачі файлу;
o
button
кнопка із заданою підписом;
o
submit -
кнопка, предначначенная для надсилання даних з заповненої форми Web-серверу;
o
- має таке ж
начначение, що і параметр submit , але у вигляді зображення;
o
hidden -
приховане поле, не відображається на екрані, але може бути передано сервера.
·
NAME -
вказує ім'я органу управління, надсилається програмі обробки форми;
·
VALUE -
вказує значення або стан органу управління;
·
CHECKED -
використовується для встановлення початкового стану перемикачів;
·
SIZE -
вказує ширину поля для введення текстової інформації, за замовчуванням
приймається рівним 20;
·
MAXLENGTH -
вказує максимальну кількість символів, які може бути введено в даному полі, за
замовчуванням не має обмежень;
·
ALIGN -
вказує вирівнювання тексту біля форми;
·
SRC -
URL-адреса графічного зображення, якщо воно використовується в органі
управління.
прикладі № 1 показано
завдання полів форми на Web-сторінці за допомогою тега <INPUT>.
Для введення багаторядкового тексту краще скористатися тегом-контейнером
<TEXTAREA> . . . </TEXTAREA>, для якого можна встановити наступні
три параметри:
·
NAME -
вказує ім'я багаторядкового поля, надсилається програмі обробки форми;
·
ROWS -
вказує розмір поля по вертикалі (в рядках);
·
COLS -
вказує розмір поля по горизонталі (стрічки).
прикладі № 1 показано
завдання полів форми на Web-сторінці за допомогою тега <TEXTAREA> .
За допомогою тега-контейнера <SELECT> . . . </SELECT> можна
вказати у формі на Web-сторінці заздалегідь проинициализированный список
довільних текстових рядків. Обрана рядок або вибрані рядки передаються
Web-серверу поряд з вмістом інших полів форми. Для тегу <SELECT>
визначені наступні параметри:
·
NAME -
вказує ім'я списку, яке разом з обраної рядком передається серверу;
·
SIZE -
вказує кількість рядків списку, що відображаються на екрані, решта згорнуті і
для появи на екрані вимагають прокручування списку;
·
MULTIPLE -
вказує на те, що можуть бути відзначені і передані на сервер не один рядок, а
всі зазначені.
Кожен рядок списку всередині контейнера <SELECT> . . .
</SELECT> задається за допомогою тега <OPTION>, який містить
наступні параметри:
·
SELECTED -
відзначає спочатку вибраний рядок;
·
VALUE -
задає значення вибраної рядка.
Нижче наводиться приклад використання тегу <SELECT>, в якому
задається набір з черырех рядків. На екрані відображаються два рядки:
"Example1_2" і "Example1_3", перша з них
("Example1_2") відзначається як обрана. Для доступу до двох інших
рядках необхідно виконати прокручування. Відзначити можна будь-яке число рядків
з заданого набору.
Кожна зазначена рядок передається на сервер у вигляді пари "ім'я=значення". В якості імені береться ім'я набору, тобто. "number". В якості значення береться значення параметра VALUE, а якщо він не вказаний - текст після тега <OPTION>. Наприклад, для другого рядка на Web-сервер передається пара "number=second", а для третьої рядка, якщо вона буде обрана, - "number=Example1_3".
<SELECT NAME="number" SIZE=2 MULTIPLE>
<OPTION VALUE="first"> Example_1
<SELECTED OPTION VALUE="second"> Example1_2
<OPTION> Example1_3
<OPTION VALUE="fourth"> Example1_4
</SELECT>
Кожна зазначена рядок передається на сервер у вигляді пари "ім'я=значення". В якості імені береться ім'я набору, тобто. "number". В якості значення береться значення параметра VALUE, а якщо він не вказаний - текст після тега <OPTION>. Наприклад, для другого рядка на Web-сервер передається пара "number=second", а для третьої рядка, якщо вона буде обрана, - "number=Example1_3".
<SELECT NAME="number" SIZE=2 MULTIPLE>
<OPTION VALUE="first"> Example_1
<SELECTED OPTION VALUE="second"> Example1_2
<OPTION> Example1_3
<OPTION VALUE="fourth"> Example1_4
</SELECT>
прикладі № 1 показано
використання і тега <SELECT>на Web-сторінці.
3 Інтерфейс
CGI
Як вже зазначалося вище, інтерфейс CGI призначений для обробки даних,
заданих на стороні клієнта у вигляді форми на Web-сторінці, за допомогою
програми (CGI-програми), розташованої
на сервері. Дані та імена полів передаються на сервер в такому форматі:
Имя1 = Значення1&Имя2=Значення2& . . .
При цьому використовується так звана URL-кодування. В цій кодіровці всі
символи пробілів замінюються символом "+". Крім того, для подання
кодів керуючих клавіш і деяких інших (до їх числа потрапили символи кирилиці)
використовується послідовність символів виду %xx, де символи xx являють собою
16-ричный код у вигляді двох ASCII-символів.
Порядок обробки форми при використанні CGI-інтерфейсу:
Порядок обробки форми при використанні CGI-інтерфейсу:
·
Користувач
заповнює форму на Web-сторінці і натискає кнопку з типом submit (прикладі
№ 1 вона має ім'я "ПЕРЕДАЧА").
·
Браузер
аналізує URL-адреса CGI-додатки, заданий у параметрі ACTION форми і встановлює
з'єднання з відповідним Web-сервером (як Web-сервера може бути використаний,
наприклад сервер Apache).
·
Web-сервер
перетворює URL-адреса в шлях до файлу на комп'ютері і визначає, що URL-адреса
вказує на CGI-додаток, а не на статичний файл.
·
Web-сервер
готує змінні оточення і запускає CGI-додаток на виконання.
·
Ця програма
відповідно до заданого методом передачі даних на сервер (GET або POST) визначає
змінні оточення і зчитує дані у вигляді пар "ім'я=значення",
здійснюючи, якщо необхідно, їх перекодування.
·
Програма
виводить на стандартний потік виводу HTTP-заголовок і результати обробки даних
форми у вигляді динамічно створеного HTML-документа.
·
Web-сервер
передає браузеру отриманий документ і закриває з ним з'єднання.
·
Браузер
відображає отримані дані на екрані у вигляді Web-сторінок.
У прикладі №1 наведено HTML-документ, який реалізує на екрані різні види
органів управління форми, заданої на Web-сторінці.
Клацнувши по кнопці "Приклад №1", можна побачити на екрані форму з полями введення однорядкової і багаторядкової текстової інформації, з полем вводу пароля, з залежними і незалежними перемикачами, з полем вибору елементів списку, з кнопками "ЩОБ" і "ПЕРЕДАЧА". В якості параметра ACTION вказано URL-адреса "http://172.17.72.25/cgi-bin/form_cgi.exe". Це адреса програми "form_cgi.exe", яка знаходиться на сервері з IP-адресою 172.17.72.25, є CGI-додатком і призначена для обробки полів форми. Якщо ця програма не розроблено, а також у разі, коли сервер вимкнений або не налаштований для перевірки роботи кнопки "ПЕРЕДАЧА" в якості параметра ACTION можна вказати адресу одного з файлів з HTML-документом, наприклад, prim2-1.htm:
<FORM METHOD=get ACTION= "prim2-1.htm">
Клацнувши по кнопці "Приклад №1", можна побачити на екрані форму з полями введення однорядкової і багаторядкової текстової інформації, з полем вводу пароля, з залежними і незалежними перемикачами, з полем вибору елементів списку, з кнопками "ЩОБ" і "ПЕРЕДАЧА". В якості параметра ACTION вказано URL-адреса "http://172.17.72.25/cgi-bin/form_cgi.exe". Це адреса програми "form_cgi.exe", яка знаходиться на сервері з IP-адресою 172.17.72.25, є CGI-додатком і призначена для обробки полів форми. Якщо ця програма не розроблено, а також у разі, коли сервер вимкнений або не налаштований для перевірки роботи кнопки "ПЕРЕДАЧА" в якості параметра ACTION можна вказати адресу одного з файлів з HTML-документом, наприклад, prim2-1.htm:
<FORM METHOD=get ACTION= "prim2-1.htm">
<HTML>
<HEAD>
<TITLE> Форми в HTML на Web-сторінці </TITLE>
<LINK REL=stylesheet HREF=""> <STYLE>
.form{background:#a0ffff;color:#004000;font-size:6mm}
.kn{background:#e0e0ff; border:outset 4 blue; font-size:4,5 мм}
</STYLE>
</HEAD>
<BODY>
<FORM METHOD=get ACTION= "http://172.17.72.25/cgi-bin/form_cgi.exe">
<TABLE ALIGN=center STYLE="color:#000080; font-size:6mm">
<TR> <TD VALIGN=top> Поле вводу однорядкової текстової інформації <BR> (text);
<TD><INPUT TYPE=text NAME="txt1" VALUE="Рядок тексту" SIZE=15 CLASS="form">
<TR> <TD VALIGN=top> Полі введення пароля <BR> (password)
<TD><INPUT TYPE=password NAME="pass"
VALUE="www" SIZE=15 MAXLENGTH=3 CLASS= "form">
<TR> <TD VALIGN=top> Поле вводу багаторядкової текстової інформації <BR>(textarea)
<TD><TEXTAREA NAME="txt2" ROWS=3 CLASS= "form">
пМногострочная інформація</TEXTAREA>
<TR> <TD VALIGN=> top; Незалежні перемикачі <BR> (checkbox)
<TD><INPUT TYPE=checkbox NAME="ch1" VALUE="on" CHECKED>1 <BR>
<INPUT TYPE=checkbox NAME="ch2" VALUE="on" >2<BR>
<INPUT TYPE=checkbox NAME="ch3" VALUE="on" CHECKED>3<BR>
<TR> <TD VALIGN=top> Залежні перемикачі <BR> (radio)
<TD><INPUT TYPE=radio NAME="rad" VALUE= "on1" CHECKED> <BR>
<INPUT TYPE=radio NAME="rad" VALUE= "on2"> Другий <BR>
<INPUT TYPE=radio NAME="rad" VALUE= "on3"> Третій <BR>
<TR><TD VALIGN=top> Вибір із списку <BR> (select)
<TD><SELECT NAME="sel" SIZE=1 MULTIPLE CLASS="form">
<OPTION VALUE="first"> Приклад №1
<SELECTED OPTION VALUE="second"> Приклад №2
<OPTION VALUE="third"> Приклад №3
<OPTION VALUE="fourth"> Приклад №4
</SELECT>
</TABLE>
<P ALIGN=center><INPUT TYPE=reset VALUE= "СКИДАННЯ" CLASS="kn">
<INPUT TYPE=submit VALUE="ПЕРЕДАЧА" CLASS="kn">
</FORM>
</BODY>
</HTML>
<HEAD>
<TITLE> Форми в HTML на Web-сторінці </TITLE>
<LINK REL=stylesheet HREF=""> <STYLE>
.form{background:#a0ffff;color:#004000;font-size:6mm}
.kn{background:#e0e0ff; border:outset 4 blue; font-size:4,5 мм}
</STYLE>
</HEAD>
<BODY>
<FORM METHOD=get ACTION= "http://172.17.72.25/cgi-bin/form_cgi.exe">
<TABLE ALIGN=center STYLE="color:#000080; font-size:6mm">
<TR> <TD VALIGN=top> Поле вводу однорядкової текстової інформації <BR> (text);
<TD><INPUT TYPE=text NAME="txt1" VALUE="Рядок тексту" SIZE=15 CLASS="form">
<TR> <TD VALIGN=top> Полі введення пароля <BR> (password)
<TD><INPUT TYPE=password NAME="pass"
VALUE="www" SIZE=15 MAXLENGTH=3 CLASS= "form">
<TR> <TD VALIGN=top> Поле вводу багаторядкової текстової інформації <BR>(textarea)
<TD><TEXTAREA NAME="txt2" ROWS=3 CLASS= "form">
пМногострочная інформація</TEXTAREA>
<TR> <TD VALIGN=> top; Незалежні перемикачі <BR> (checkbox)
<TD><INPUT TYPE=checkbox NAME="ch1" VALUE="on" CHECKED>1 <BR>
<INPUT TYPE=checkbox NAME="ch2" VALUE="on" >2<BR>
<INPUT TYPE=checkbox NAME="ch3" VALUE="on" CHECKED>3<BR>
<TR> <TD VALIGN=top> Залежні перемикачі <BR> (radio)
<TD><INPUT TYPE=radio NAME="rad" VALUE= "on1" CHECKED> <BR>
<INPUT TYPE=radio NAME="rad" VALUE= "on2"> Другий <BR>
<INPUT TYPE=radio NAME="rad" VALUE= "on3"> Третій <BR>
<TR><TD VALIGN=top> Вибір із списку <BR> (select)
<TD><SELECT NAME="sel" SIZE=1 MULTIPLE CLASS="form">
<OPTION VALUE="first"> Приклад №1
<SELECTED OPTION VALUE="second"> Приклад №2
<OPTION VALUE="third"> Приклад №3
<OPTION VALUE="fourth"> Приклад №4
</SELECT>
</TABLE>
<P ALIGN=center><INPUT TYPE=reset VALUE= "СКИДАННЯ" CLASS="kn">
<INPUT TYPE=submit VALUE="ПЕРЕДАЧА" CLASS="kn">
</FORM>
</BODY>
</HTML>
Перед тим як "натиснути" кнопку "ПЕРЕДАЧА", здійснивши
передачу даних з форми CGI-додаток і його запуск для обробки даних, необхідно
виконати наступне:
1. Всі файли, що містять HTML-документи з використанням CGI-інтерфейсу,
повинні знаходиться в підкаталозі "C:\Temp\Apache". Це обмеження
пов'язано з налаштуваннями Web-сервера Apache і тим, хто не має достатнього
практичного досвіду роботи з цим сервером, краще не займатися зміною його
параметрів. Тому файл "prim5-1.htm", що містить, наведений у прикладі
№1 HTML-документ, а також всі створені файли, що містять документи з
використанням CGI-інтерфейсу, повинні бути скопійовані в папку "C:\Temp\Apache".
2. Необхідно розробити CGI-додаток,
що обробляє дані з форми, у вигляді виконавчого файлу з ім'ям, зазначеним у
параметрі ACTION форми (у прикладі №1 - це файл "form_cgi.exe"). Цей
файл повинен бути поміщений в підкаталог "C:\Temp\Apache\cgi-bin". Ця
умова також пов'язано з налаштуваннями Web серверу. Зазначимо, що в параметрі
ACTION необхідно вказувати повну адресу файлу, включаючи IP-адреса сервера, як
показано в прикладі №1 для комп'ютера №5 (для комп'ютера №4 IP-адреса буде
172.17.72.24 і т.д.).
Комментарии
Отправить комментарий