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']


 

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

18405. СИСТЕМА МОРАЛЬНО-ПСИХОЛОГІЧНОГО ЗАБЕЗПЕЧЕННЯ ПІДГОТОВКИ ТА ВЕДЕННЯ БОЙОВИХ ДІЙ (ОПЕРАЦІЙ) 199.5 KB
  СИСТЕМА МОРАЛЬНО-ПСИХОЛОГІЧНОГО ЗАБЕЗПЕЧЕННЯ ПІДГОТОВКИ ТА ВЕДЕННЯ БОЙОВИХ ДІЙ ОПЕРАЦІЙ Оцінка воєннополітичної обстановки у світі та навколо України прогноз її розвитку на найближчу перспективу дозволяють воєннополітичному к
18406. ОРГАНІЗАЦІЯ МОРАЛЬНО-ПСИХОЛОГІЧНОГО ЗАБЕЗПЕЧЕН-НЯ ПІДГОТОВКИ ТА ЗАСТОСУВАННЯ ВІЙСЬК (СИЛ) 237 KB
  ЛЕКЦІЯ 4. ОРГАНІЗАЦІЯ МОРАЛЬНО-ПСИХОЛОГІЧНОГО ЗАБЕЗПЕЧЕННЯ ПІДГОТОВКИ ТА ЗАСТОСУВАННЯ ВІЙСЬК СИЛ Розвиток воєнної науки на сучасному етапі характеризується посиленням вимог до командирів штабів усіх посадових осіб щодо оперативної діяльності в складних умовах....
18407. ОСОБЛИВОСТІ МПЗ ПІДГОТОВКИ ТА ЗАСТОСУВАННЯ ЧАСТИН І З’ЄДНАНЬ ЗБРОЙНИХ СИЛ УКРАЇНИ 383 KB
  ОСОБЛИВОСТІ МПЗ ПІДГОТОВКИ ТА ЗАСТОСУВАННЯ ЧАСТИН І З’ЄДНАНЬ ЗБРОЙНИХ СИЛ УКРАЇНИ Бойовий досвід свідчить про те що яка б велика не була роль технічної оснащеності військ але навіть сама досконала техніка і першокласна зброя не можуть...
18408. КОНЦЕПТУАЛЬНО-МЕТОДОЛОГИЧЕСКИЕ ОСНОВЫ ЛОГИСТИКИ 144.5 KB
  ЛЕКЦИЯ 1 Тема 1 КОНЦЕПТУАЛЬНО-МЕТОДОЛОГИЧЕСКИЕ ОСНОВЫ ЛОГИСТИКИ Глоссарий Военная логистика совокупность средств и способов необходимых для доставки людей техники боеприпасов к месту ведения боевых действий а также планирование и организация мероприятий п
18409. Цели и задачи логистики 196 KB
  ЛЕКЦИЯ 2 5. Цели и задачи логистики Главной целью логистики является обеспечение конкурентоспособных позиций организации бизнеса на рынке. Этого логистика добивается посредством управления потоковыми процессами на основе следующих правил: доставка с минима
18410. Причины осуществления закупок у внешних поставщиков 149.5 KB
  Лекция 3 Причины осуществления закупок у внешних поставщиков: потребность в комплектующем изделии невелика и его производство не является частью основной деятельности организации; организации не хватает административного или технического опыта для производства н...
18411. Структура производственного процесса 212 KB
  Лекция 4 2. Структура производственного процесса Производственная система промышленной организации состоит из объективно существующих комплексов материальных объектов коллектива людей производственных научнотехнических и информационных процессов имеющи...
18412. Метод построения распределительного канала, основанный на группировке товаров 215.5 KB
  Лекция 5 Метод построения распределительного канала основанный на группировке товаров определяет детальную структуру канала распределения применительно не к отдельному продукту а к той или иной группе продуктов. Объединяет описание посреднических институтов со схе
18413. Функциональный и структурный метод анализа 201 KB
  Лекция 6 Функциональный метод анализа структуры каналов распределения развился в результате попыток дать логистическое объяснение всему маркетинговому процессу в целом. Он основан на определении функций сбыта главная функция сбыт продукции с их последующей д