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


 

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

4001. Изучение пакета NetCracker Pro 205.99 KB
  Лабораторная работа № 1 Изучение пакета NetCracker Pro Цель работы: познакомиться с основными возможностями пакета NetCracker Pro и получить навыки построения компьютерных сетей. Краткое руководство по использованию программы NetCracker Pro. Програм...
4002. Изучение центрального соударения двух тел. Проверка второго закона Ньютона 192.98 KB
  ЛАБОРАТОРНАЯ РАБОТА № 2 Изучение центрального соударения двух тел. Проверка второго закона Ньютона Цель работы 1. Экспериментальная проверка законов упругого и неупругого центрального соударения для системы двух тележек, движущихся с малым трением. ...
4003. Термінологія дисципліни Компютерні системи захисту інформації 213.52 KB
  Згідно з нормативним документом системи технічного захисту інформації “Термінологія у галузі захисту інформації в комп’ютерних системах від несанкціонованого доступу” НД ТЗІ 1.1-003-99 : автоматизована система (АС) - це організаційно-технічна система, що реалізує інформаційну технологію і поєднує у собі
4004. ОПРЕДЕЛЕНИЕ МОМЕНТА ИНЕРЦИИ ТВЕРДОГО ТЕЛА 180.84 KB
  Лабораторная работа. ОПРЕДЕЛЕНИЕ МОМЕНТА ИНЕРЦИИ ТВЕРДОГО ТЕЛА. Цель работы: определение опытным путем момента инерции системы, состоящей из массивного металлического диска и шкива, насаженных на об...
4005. Діагностика захворювань шкіри. Гігієна шкіри, медична етика і деонтологія в дерматовенерології 86 KB
  Науково – методичне обґрунтування теми Вивчення теми «Діагностика захворювань шкіри. Гігієна шкіри, медична етика і деонтологія в дерматовенерології. Принципи лікування хворих із шкірними та венеричними захворюваннями. Загальне і зовнішне лікув...
4006. Основи екології. Конспект лекцій 1.43 MB
  Основні екологічні проблеми сучасності Визначення, завдання, значення і структура екології. Основні етапи розвитку екології. Українська екологічна школа. Основні екологічні проблеми сучасності. Джерела екологічної кризи сучасності та її вп...
4007. Педагогическая генетика 598.5 KB
  Педагогическая генетика Генетика и биология развития могут предложить довольно мощный резерв для перестройки современной педагогики – некую новую область знаний, которую мы назовем педагогической генетикой. Это новое направление основано на дву...
4008. Введение в экономическую теорию 116.5 KB
  Введение Экономические знания необходимы каждому человеку, так как они способствуют правильному пониманию происходящего, помогают ориентироваться в различных ситуациях, как на работе, так и в жизни. Домохозяйка рассчитывает, как распланировать доход...
4009. Сутність екологічного менеджменту 411 KB
  Антропогенний і техногенний вплив на природне середовище. Сучасний рівень порушення екологічної рівноваги на Землі Діалектика взаємодії суспільства і природи носить історичний характер і полягає в тім, що людство - складова частина природи, р...