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


 

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

47813. Сборник клинических задач. Лечебное дело 740 KB
  При осмотре влагалищными зеркалами: слизистая оболочка влагалища и шейки матки синюшная. Устанавливается на основании сомнительных и вероятных признаков беременности: отвращение к запахам тошнота отсутствие менструации синюшность слизистой оболочки влагалища и шейки матки увеличение тела матки. Дополнительные методы диагностики беременности: определение ХГЧ гормона хорионического гонодотропина в сыворотке крови и моче; ультразвуковое исследование матки. по величине тела матки 8 недель небеременная матка имеет размер с крупную...
47816. Физика. Учебно-методический комплекс 1.67 MB
  Общие свойства и характеристики волновых процессов. Заряды одного знака отталкиваются друг от друга заряды разных знаков притягиваются рис. Шелк Стекло = Мех Янтарь = Рис. Величина элементарного заряда по абсолютной величине в СИ: Электрические заряды присущи многим элементарным частицам в частности электронам и протонам входящим в состав различных атомов из которых построены все тела в природе.
47817. ОБЛІК У БЮДЖЕТНИХ УСТАНОВАХ. КОНСПЕКТ ЛЕКЦІЙ 1.48 MB
  Метою вивчення дисципліни є засвоєння теорії і практики бухгалтерського обліку в бюджетних установах оволодіння студентами базовими знаннями з організації і функціонування бюджетних установ формування вміння орієнтуватись у законодавчонормативних документах та інструктивнометодичних матеріалах з організації та методики бухгалтерського обліку в...
47818. ОСНОВЫ ПРАВА 891 KB
  Теория права. Признаки государства: Наличие особой публичной власти не совпадающей с основным населением особый аппарат управления и принуждения Территориальная организация населения государство защищает интересы каждого субъекта находящегося на его территории в отличие от власти в догосударственный период когда интересы субъекта защищались либо по признаку принадлежности к данному сообществу либо по признаку родства Наличие права Налоги обязательные платежи с субъектов идущие в т. на содержание “публичной властиâ€...
47819. Інвестування. Навчально-методичний посібник 789 KB
  Рецензенти: РВВ ЖДТУ Житомир 2005 ВСТУП Мета і завдання дисципліни її місце у навчальному процесі Актуальним завданням на сьогодні є розвиток інвестиційної діяльності спрямованого на створення привабливого інвестиційного середовища та суттєвого нарощування обсягів інвестицій. Разом з тим річні обсяги інвестицій в Україні поки ще залишаються на низькому рівні через велику низку причин: несприятливий інвестиційний клімат нерозвинутість фондового ринку та фінансовокредитної системи високий податковий тиск неефективне використання...
47821. Художественные направления, течения и школы в литературе ХХ века. Модернизм и постмодернизм: проблема соотношения понятий в современном литературоведении 61.5 KB
  Модернизм и постмодернизм: проблема соотношения понятий в современном литературоведении. Открыть и разрешить вопрос соотношения модеонизма и постмодернизма. Воникновение и развитие постмодернизма. Попарт сегодня предстает как переход от модернизма к постмодернизму.