КАТЕГОРИИ: Архитектура-(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; Просмотров: 349; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |