4340

Программирование для Web, CGI (Common Gateway Interface)

Реферат

Информатика, кибернетика и программирование

Программированиедля Web, CGI (Common Gateway Interface) CGI - это спецификация обмена данными между прикладной программой, выполняемой по запросу пользователя, и HTTP-сервером, который данную программу запускает. Часть информации заголовка HTT...

Русский

2012-11-16

464 KB

2 чел.

Программирование для Web, CGI (Common Gateway Interface)

CGI - это спецификация обмена данными между прикладной программой, выполняемой по запросу пользователя, и HTTP-сервером, который данную программу запускает.

Часть информации заголовка HTTP-запроса преобразует в переменные окружения, которые доступны для анализа CGI-скриптом. Если запрос имеет тело, то оно становится доступным скрипту через поток стандартного ввода.

CGI-скриптом называют программу, написанную на любом языке программирования или командном языке, которая осуществляет обмен данными с HTTP-сервером в соответствии со спецификацией Common Gateway Interface.

Метод GET:

GET /cgi-bin/temp/a.cgi?a=1&b=2 HTTP/1.1

Referer: http://tpu.ru/

User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)

Host: acs.cctpu.edu.ru

<пустая строка>

Переменные окружения:

REQUEST_METHOD = GET

QUERY_STRING = a=1&b=2

HTTP_REFERER = http://tpu.ru/

HTTP_USER_AGENT = Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)

REMOTE_ADDR = 195.208.176.1

Стандартный поток ввода: ничего

Метод POST:

POST /cgi-bin/temp/a.cgi?a=1&b=2 HTTP/1.1

Referer: http://tpu.ru/

User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)

Host: acs.cctpu.edu.ru

Content-Type: application/x-www-form-urlencoded

Content-Length: 7

<пустая строка>

PostData

Переменные окружения:

REQUEST_METHOD = POST

QUERY_STRING = a=1&b=2

CONTENT_TYPE = application/x-www-form-urlencoded

CONTENT_LENGTH = 7

HTTP_REFERER = http://tpu.ru/

HTTP_USER_AGENT = Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)

REMOTE_ADDR = 195.208.176.1

Стандартный поток ввода: PostData (7 байт)

Язык программирования PHP

PHP – PHP: Hypertext Preprocessor – «Гипертекстовый препроцессор» - язык сценариев общего назначения, предназначенный в первую очередь для быстрого создания динамически генерируемых страниц для Web.

Преимущества:

1)PHP может использоваться на всех крупных платформах.

2)Для большинства существующих Web-серверов существуют модули PHP.

3)Встроенная поддержка наиболее популярных СУБД.

4)PHP – более безопасный язык для написания CGI-приложений по сравнению с Perl и C.

5)Встроенная поддержка вывода сообщений об ошибках и предупреждений напрямую в браузер.

Скрипт:

<html><head><title>Заголовок</title></head>

<body>My name is <?php

$a='PHP'; //это комментарий в тексте скрипта

print $a; /* это тоже комментарий*/ ?></body>

</html>

Результат:

<html><head><title>Заголовок</title></head>

<body>My name is PHP</body>

</html>

Основные типы: логический,

целые числа,

вещественные числа,

строки, массивы.

Тип переменной является контекстно-зависимым.

Проверка типа переменной:

$a=10;

if (is_int($a)) { print "Целое число"; }

$a=10.1; if (is_float($a)) { print "Вещественное число"; }

$a='str'; if (is_string($a)) { print "Строчка"; }

$a=array(1,2); if (is_array($a)) { print "Массив"; }

$a="123.3"; if (is_numeric($a)) { print "Число"; }

$a=123.3; if (is_numeric($a)) { print "Число"; }

Оператор условия:

if (is_string($a)) {  print "Строчка"; $res=$a;  }

elseif ($a==$b && ($c>=$d || $f<$x)) { print $a; }

else { print $b; }

Операции со строками

Объединение строк:

$a='First'; $b='Second'; $c=$a.$b; print $c; //на экране FirstSecond

Нахождение подстроки:

$s2 = substr("abcdef", 1, 3); //в $s2 записано "bcd"

//параметры: исходная строка, начальный символ (счёт с 0), количество символов

$s2 = substr("abcdef", 2); //в $s2 записано "cdef" - до конца строки

$s2 = substr("abcdef", -3); //в $s2 записано "def" - отчёт от конца строки

$s2 = substr("abcdef", 1, -1); //в $s2 записано "bcde" - со второго символа до предпоследнего

Кавычки: " или '

$a='str';

$b='___ $a ___';  // $b содержит ___ $a ___

$c="___ $a ___"; // $c содержит ___ str ___

Определение длины строки:  print length($str);

Операции с массивами

Добавление нового элемента:

$a=array();

$a[]=1; //первый элемент с индексом 0

$a[10]=2;

$a[]=3; //элемент с индексом 11

print $a[11]; //на экране 3

Перебор всех элементов:

foreach ($a as $v) { print $v. '-'; } //на экране 1-2-3-

$a=array(1,2,3);

for ($i=0; $i<count($a); $i++) { print $a[$i].'-'; } //на экране 1-2-3-

Операции с файлами

Чтение текстового файла в массив:

$ar=file('data.txt');

$fp=fopen('data.txt', 'r');

while (!feof($fp)) {  $ar[]=fgets($fp);  }

fclose($fp);

Запись массива в текстовый файл:

$fp=fopen('data.txt', 'w');

foreach ($ar as $v) { fputs($fp, $v); }

fclose($fp);

Обработка форм

Переменные окружения:

$_ENV['REMOTE_ADDR']

$_ENV['HTTP_USER_AGENT']

Данные, переданные из формы методом GET:

$_GET['user']

$_GET['fieldname1']

Проверка существования переменной:

if (isset($_GET['fieldname1'])) { print $_GET['fieldname1']; }

Данные, переданные из формы методом POST:

$_POST['user']

$_POST['fieldname1']


 

А также другие работы, которые могут Вас заинтересовать

68491. Финансово-правовые аспекты денежно-кредитных и валютных отношений 31.02 KB
  Правовое положение Центрального банка РФ Валютное регулирование и валютный контроль Деньги в экономическом смысле ликвидный актив в юридическом законное средство платежа. Деньги наиболее удобная мера обмена. Закон Грешема 16 век плохие деньги вытесняют из обращения хорошие деньги.
68492. Дизайн на французский манер 85 KB
  Выставка моды 1945 года После четырех лет войны британские и американские модельеры сочли что во Франции с высокой модой покончено. Жак Вьено Институт промышленной эстетики Следуя опытом Великобритании где в конце 1940х годах открылись государственные центры дизайна дизайнер и теоретик...
68493. Хроническое продуктивное воспаление 261 KB
  Хроническое воспаление это длительный процесс при котором деструкция и воспаления развиваются одновременно с заживлением. Причины хронического воспаления: персистирующая инфекция например микобактерия туберкулеза вирус гепатита паразиты инородные тела кремний асбест тальк кетгут и...
68494. Цитомегаловирусная инфекция 59.5 KB
  В культуре фибробластов эмбриона человека он образует гигантские клетки цитомегал отсюда название клетки и болезни. Цитомегалы крупные клетки размером 28 50 м. В ядре клетки видны четко очерченные включения размером 8 20 микрон. Микроскопически: отдельные клетки эпителия концевых и секреторных отделов слюнных трубочек превращаются в цитомегалов.
68495. Цифровая печать: технологии и перспективы 152 KB
  Ее основные стадии: формирование скрытого латентного изображения на воспринимающей поверхности рецепторе; проявление изображения; прямой или косвенный через промежуточную поверхность перенос изображения на запечатываемый материал; закрепление изображения на запечатываемом материале...
68497. Электричество Пособие для самостоятельной работы 414 KB
  Как для любого векторного поля у электростатического существуют две характеристики Силовая характеристика напряженность электростатического поля связанная с силой действия поля на другие заряды Энергетическая характеристика потенциал электростатического поля связанная с потенциальной...
68498. Электрофотография 263 KB
  Элемент изображения поддельной купюры 100 рублей образца 1997 года выпуска номинал 100 обозначенный в левом нижнем углу лицевой стороны банкноты выполненной способом электрофотографии. Элемент изображения поддельной купюры 100 долларов США образца 1996 года выпуска SERIES 1996 выполненной...
68499. Экономическая эффективность метрологического обеспечения производства 60.61 KB
  Механизм формирования экономических потерь от погрешности измерений. Экономическая эффективность внедрения новых методов и средств измерений. Экономический эффект от проведения аттестации не стандартизованных средств измерений технологического контрольноизмерительного и испытательного оборудования.