Листинг 6.2. Файл chap6\IFrames\include. htm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">

<HTML>

<HEAD>

<ТITLE>Документ для плаваючого фрейма</ТITLE>

</HEAD>

<BODY BGCOLOR=#FFFFFF>

<Р>Вміст цього документа відображається усередині плаваючого фрейма.

<Р>Воно відображається у вікні, що має вертикальну смугу перегляду.

<Р>Якщо вміст документа, завантаженого в плаваючий фрейм, не поміщається у вікні фрейма, користувач може пролистать його за допомогою цієї смуги перегляду.

</BODY>

</HTML>

 

7. ДОДАТКИ CGI

До дійсного моменту ми розповідали вам про те, як розмістити в документах HTML різноманітну статичну інформацію. Статичну в тому змісті, що вона не змінюється в часу без втручання адміністратора серверу WWW. Якщо сервер WWW містить тільки статичні документи HTML, те такий сервер ми будемо називати статичним або пасивним.

Поза всяким сумнівом, пасивні сервери дуже потрібні, тому що далеко не всяка інформація змінюється динамічно. Проте є додатки, у яких потрібні сервери, що не відображають просто мультимедийную інформацію, але і спроможні звістки діалог із користувачем в інтерактивному режимі, виконувати обертання до баз даних, а також чинити іншу аналогічну роботу. Наприклад, якщо навіть інформація зі свого характеру є статичної, але її обсяг надзвичайно великий, пошук по гипертекстовым посиланнях може відняти занадто багато часу. Було б зручніше в цьому випадку організувати запитальний режим для пошуку по ключових словах.

Сервери, що ведуть діалог із віддаленим користувачем або виконують опрацювання даних користувача, ми будемо називати активними.

Найбільше відомий засіб створення активних серверів WWW полягає у використанні так називаних додатків CGI. У вітчизняній літературі, присвяченої серверам WWW, часто зустрічається транслітерація CGI-скрипты, що відбулася від оригінального терміна CGI Scripts.

Що криється за абревіатурою CGI?

CGI - це стандартний шлюзовий інтерфейс (Common Gateway Interface) для запуску зовнішніх програм під керуванням серверу WWW. Відповідно додатками CGI називаються програми, що, користуючи цим інтерфейсом, одержують через протокол HTTP інформацію від віддаленого користувача, опрацьовують її і повертають результат опрацювання обернено у виді посилання на вже існуючий документ HTML або інший об'єкт (наприклад, графічне зображення) або у виді документа HTML, створеного динамічно.

Передача інформації від віддаленого користувача додатку CGI звичайно виконується в такий спосіб.

У документі HTML, що створюється для запровадження інформації, призначеної для опрацювання, розміщається форма запровадження. Ця форма складається з необхідних органів керування: поляж редагування текстової інформації, перемикачів, списків і т.д. Більше усього форма запровадження схоже на звичні вам діалогові панелі операційної системи Microsoft Windows. Кожному органу керування присвоюється довільне ім'я. Крім того, у цій формі повинна бути кнопка, що варто натиснути після заповнення форми.

Коли користувач заповнює форму і натискає зазначену кнопку, дані передаються додатку CGI, шлях до якого задається в заголовку форми. Цей додаток одержує через протокол HTTP дані з полів форми у виді пар значень ім'я поля/значення.

Після опрацювання отриманих даних додаток CGI створює документ HTML і записує його в стандартний устрій висновка stdout. Цей документ автоматично передається віддаленому користувачу.

Всі описані процедури ми роздивимося в цій главі більш докладно. Крім того, ми призведемо вихідні тексти різноманітних додатків CGI. Зауважимо, що можливі й інші сценарії роботи з програмами CGI.

Тому що додаток CGI є не чим іншим, як програмою, ви повинні оттранслировать її для тієї операційної системи, під керуванням якої працює ваш сервер WWW. У деяких випадках ви можете знайти більш зручним створювати програми CGI із використанням спеціально призначених для цього інтерпретаторів, таких, як Peri, або мови пакетних завдань. Наприклад, ви можете створити програму CGI для серверу Microsoft Information Server як звичайний пакетний файл *. bat. У нашій книзі ми сконцентруємо увагу на використанні для створення програм CGI мобільної мови програмування С. Транслятор цієї мови ви можете знайти в будь-який операційній системі.

7.1. Створення форм

Частіше усього програми CGI застосовуються для опрацювання даних, уведених віддаленими користувачами за допомогою форм. Тому вивчення програм CGI ми почнемо зі створення форм.

Кожна форма містить органи керування, за допомогою яких користувач може вводити текстові або числові значення, вибирати рядка зі списків. У формі можуть розташовуватися перемикачі, звичайні або графічні кнопки.

7.1.1. Опис форми

Для того щоб зробити форму в документі HTML, ви повинні скористатися оператором <FORM>. Цей оператор застосовується в парі з оператором </FORM>, що завершує опис форми. Між оператора

ми <FORM> і </FORM> знаходяться описи органів керування у виді операторів <INPUT>, <TEXTAREA> і <SELECT> із відповідними параметрами.

От приклад визначення найпростішої форми:

 

<FORM METHOD=GET ACTI0N="http://www.myserver.ru/frolov-cgi/form.exe">

<TABLE>

<TR>

<TD><INPUT TYPE=text NAME="text1" VALUE="Sample of text1"></TD>

</TR>

<TR>

<TD><INPUT TIPE=text NAME=text2" VALUE="Sample of text2"></TD>

</TR>

<TR>

<INPUT TYPE=submit VALUE="Send">

</TR>

</TABLE>

</FORM>

 

Тут органи керування розміщаються в таблиці, що складається з одного стовпчика і трьох рядків. У верхніх двох рядках ми розмістили поля для запровадження і редагування тексту, в останньому рядку - кнопку з назвою Send. Зовнішній вигляд форми при її перегляді в навігаторі показаний на мал. 7.1.

Мал. 7.1. Найпростіша форма для запровадження двох текстових рядків

Перерахуємо припустимі параметри оператора <FORM>:

Параметр Опис

ACTION Адреса URL для виконання дій над формою

METHOD Засіб передачі даних із форми в сервер WWW

ENCTYPE Тип MIME переданих даних

Параметр ACTION визначає, яке дія буде виконано над формою, після того як користувач її заповнить і передасть серверу WWW. У прикладі, приведеному вище, у якості значення для параметра ACTION ми зазначили шлях до програми CGI, що буде виконувати опрацювання даних.

За допомогою параметра METHOD ви можете вибрати один із двох методів передачі даних із форми серверу WWW. Якщо значення цього параметра дорівнює GET (як у нашому прикладі), програма CGI, зазначена в параметрі ACTION, одержить дані з форми через переменную середовища з ім'ям QUERY_STRING. У тому випадку, коли значення параметра METHOD дорівнює POST, програма CGI одержить дані з форми через стандартний потік запровадження. Пізніше ми роздивимося розходження між цими методами більш докладно.

І нарешті, третій параметр - ENCTYPE використовується дуже рідко і тільки для методу POST. Він дозволяє зазначити тип переданих даних і по умовчанню має значення application/x-www-form-urlencoded.

7.1.2. Створення органів керування для форми

Для створення у формі різноманітних органів керування (поляж запровадження, перемикачів, кнопок і т.д.) використовуються оператори <INPUT>, <TEXTAREA> і <SELECT>.

Оператор <INPUT>

Оператор <INPUT> призначений для вставки у форму таких органів керування, як поля запровадження текстової інформації, перемикачі, кнопки (звичайні й у виді графічних зображень), а також органи керування для передачі локального файла через навігатора у віддалений сервер WWW.

Перерахуємо параметри оператора <INPUT>:

Параметр Опис

type Тип органа керування. У залежності від значення цього параметра будуть створюватися різноманітні органи керування (кнопки, перемикачі і т.д.)

NAME Ім'я органа керування. Це ім'я посилається програмі опрацювання форми і використовується для визначення стана органа керування (для перемикачів) або одержання інших даних (наприклад, для одержання рядка, введеної в текстовому полі)

VALUE Початковий стан або початкове значення для органа керування. Використовується для ініціалізації органа керування при початковому відображенні форми

CHECKED Цей параметр використовується для установки початкового значення перемикачів

SIZE Ширина поля для запровадження текстової інформації в символах. По умовчанню поле має ширину 20 символів

MAXLENGTH Максимальна кількість символів, що можна ввести в поле редагування текстової інформації. По умовчанню таке обмеження відсутніх

ALIGN Вирівнювання тексту, розташованого біля форми

SRC Адреса URL графічного зображення, якщо воно використовується в _________ органі керування

Параметр TYPE визначає тип утворюваного органа керування і може мати такі значення:

Значення Тип органа керування параметра TYPE

TEXT Однострочное поле для запровадження текстової інформації. Розмір цього поля визначається параметрами SIZE і MAXLENGTH

TEXTAREA Многострочное поле для запровадження текстової інформації. Розмір поля також визначається параметрами SIZE і MAXLENGTH

PASSWORD Цей орган керування призначений для запровадження такої інформації, як пароли. Він аналогічний органу керування типу TEXT, але відрізняється тим, що текст, уведений користувачем, не відображається на екрані

CHECKBOX Перемикач типу Check Box. Призначений для використання в наборі незалежних друг від друга перемикачів або окремо

RADIO Перемикач для групи залежних перемикачів. Використовується для вибору одного значення з декількох

FILE Орган керування для вибору і передача файла. Це значення використовується по-різному навігаторами Microsoft Internet Explorer і Netscape Navigator

BUTTON Кнопка з заданим написом

SUBMIT Кнопка, що призначена для посилки даних із заповненої форми серверу WWW. Напис на цій кнопці також можна задавать

RESET С поміччю цієї кнопки користувач може скинути вміст поляж запровадження і стан перемикачів у їхні початкові значення, задані операторами VALUE

IMAGE Для посилки даних із форми в сервер ви можете використовувати не тільки кнопку типу SUBMIT, але і довільне графічне зображення, задане параметром SRC. Відповідний графічний орган керування має тип IMAGE

HIDDEN Сховане поле, що не відображається. Вміст цього поля посилається серверу і може бути проаналізоване

Оператор <TEXTAREA>

Оператор <INPUT> із параметром TYPE, що має значення TEXT, дозволяє вставити у форму поле редагування текстового рядка. Якщо ж вам потрібно ввести многострочный текст, краще скористатися оператором <TEXTAREA>, що застосовується разом з оператором </TEXTAREA>.

Зауважимо, що, хоча параметр TYPE оператора <INPUT> дозволяє задати многострочное поле редагування з типом TEXTAREA, створене в такий спосіб поле працює як однострочное.

Для оператора <TEXTAREA> ви можете задати 3 параметр:

Параметр Опис

NAME Ім'я многострочного поля, що посилається програмі опрацювання форми і використовується для одержання введених рядків тексту

ROWS Розмір поля по вертикалі (у рядках)

COLS Розмір поля по горизонталі (у символах)

От приклад опису многострочного текстового поля:

 

<TEXTAREA NAME="multi" ROWS=54 COLS=60>

Це зразок

многострочного

тексту

</TEXTAREA>

 

Оператор <SELECT>

За допомогою оператора <SELECT> ви можете вставити у форму заздалегідь проинициализированный список довільних текстових рядків. Обраний рядок пересилається серверу WWW поряд із вмістом інших полів форми.

Для оператора <SELECT> визначено 2 параметр - NAME і SIZE. Параметр NAME задає ім'я списку, що передається серверу WWW у парі з обраним рядком. За допомогою параметра SIZE можна задати висоту списку в рядках.

Нижче ми призвели приклад використання оператора <SELECT>:

 

<SELECT NAME="number">

<ОРТIОN>Перший

<OPTI0N SELЕСТЕD>Другий

<ОРТI0N>Третій

<OРТI0N>Останній

</SELECT>

 

Для запису рядків у список тут використовується оператор <OPTION>. Рядок, відзначений параметром SELECTED, буде обрана в списку по умовчанню.

7.1.3. Приклад документа HTML із формою

Форми краще вивчати на конкретному прикладі. У цій главі ми створимо форму, що містить майже всі органи керування (мал. 7.2), і роздивимося вихідний текст відповідного документа HTML.

Цей вихідний текст приведений у листинге 7.1.

 








Дата добавления: 2015-04-19; просмотров: 754;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.02 сек.