Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Листинг 7.5. Файл chap7\cgihello\cgihello. c




Листинг 7.4. Файл chap7\cgihello\cgihello. htm

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

<HTML>

<HEAD>

<ТITLЕ>СGI Script Test</TITLE>

</HEAD>

<BODY BGCOLOR=#FFFFFF>

<Н1>Запуск програми CGI</H1>

<FORM METHOD=GET ACTION="http://frolov/frolov-cgi/cgihello.exe">

<INPUT TYPE=submit VALUE="Send">

</FОРМ>

</BODY>

</HTML>

 

У цьому документі визначена форма, що містить єдину кнопку, створену оператором <INPUT> і имеющую тип SUBMIT.

У параметрі ACTION оператора <FORM> зазначений шлях до програми CGI, причому цей шлях є виртуальным. Для передачі даних використовується метод GET.

Зовнішній вигляд форми при її перегляді навігатором Microsoft Internet Explorer поданий на мал. 7.5.

Мал. 7.5. Форма для запуску програми CGIHELLO

У результаті роботи програми CGIHELLO динамічно створюється документ HTML, зовнішній вигляд якого показаний на мал. 7.6.

Мал. 7.6. Документ HTML, утворюваний динамічно програмою CGGIHELLO

Роздивимося вихідний текст програми CGIHELLO (листинг 7.5).

 

#include <stdio.h>

#include <stdlib.h>

void main(int argc, char *argv[])

{

printf(*Content-type: text/html\n\n");

printf("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 3.2//EN\">");

printf("<HTML><HEAD><TITLE>

XYZ Incorporation</TITLE></HEAD><BODY>");

printf("<H1>Результат роботи програми CGI/H1>");

printf("<P>Ця сторінка створена динамічно в результаті"

"роботи програми СGI");

printf("</BODY></HTML>");

}

 

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

У перший разом функція printf виводить заголовок HTTP і порожню рядок-роздільник. Далі програма CGIHELLO записує построчно в стандартний потік висновка STDOUT текст документа HTML.

7.5.2. Програма CONTROLS

Більш складна програма CGI називається CONTROLS і виконує опрацювання даних, отриманих із форми, що була показана на мал. 7.2. Вихідний текст документа HTML із цією формою подані в листинге 7.1.

Програма CONTROLS відображає в динамічно формованому документі HTML метод, використаний для передачі (POST або GET), розмір і тип даних, що надходять від форми. Прийняті дані показуються як у вихідному виді, так і після перекодування. Крім того, у документі HTML розташовується список значень усіх поляж, визначених у формі (мал. 7.7).

З малюнка очевидно, що навігатор надіслав серверу WWW 135 байт інформації. Тому що при цьому був використаний метод POST, дані були спрямовані в стандартний потік запровадження INPUT. Дані закодированы в кодировке URL, тому що вміст перемінне середовище CONTENTJTYPE дорівнює application/x-www-form-urlencoded.

Звернете увагу на текстове поле з ім'ям textl. Всі прогалини у відповідному рядку в кодировке URL замінені на символ +. Що ж стосується символу & і символу запятой, то вони прийшли у виді %26 і %2С. Функція перекодирования повертає рядок у вихідний вид - Sample of text1 &,.

Форма, показана на мал. 7.2, має дві кнопки, призначені для передачі даних серверу WWW. Це звичайна кнопка і кнопка у виді графічного зображення. Після натискання графічної кнопки від форми приходить інформація про координати курсору миші у виді перемінних з іменами х и у.

Мал. 7.7. Фрагмент документа, сформованого динамічно програмою CONTROLS

Роздивимося вихідний текст програми CONTROLS (листинг 7.6).

 




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


Дата добавления: 2014-11-29; Просмотров: 323; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.008 сек.