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


 

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

55390. Міжнародні телекомунікаційні проекти як ефективний засіб формування комунікативної компетенції учнів 402 KB
  Життя ставить перед сучасною освітою завдання виховання та навчання учня, який може гнучко адаптуватися в життєвих ситуаціях, що динамічно змінюються, самостійно здобувати необхідні знання, уміло використовувати їх для вирішення різноманітних проблем на практиці, щоб протягом всього життя мати можливість знайти в ньому відповідне місце
55391. ПРОЕКТНА ДІЯЛЬНІСТЬ УЧНІВ НА УРОКАХ УКРАЇНСЬКОЇ МОВИ ТА ЛІТЕРАТУРИ 140 KB
  Метод проектів особливо на уроках української мови та літератури передбачає не тільки наявність суб’єктивно чи соціально значущої для учня проблеми не просто її дослідження пошук шляхів вирішення а й практичне впровадження отриманих результатів у тому чи іншому продукті діяльності.
55392. Проектная деятельность на уроке технологии 86 KB
  Обобщить знания о пищевом рационе режиме питания условиях приёма пищи и сформулировать правила рационального питания. Воспитывать бережное отношение к здоровью и продуктам питания.
55393. Метод проектов на уроках истории и во внеклассной деятельности 396 KB
  Материально-техническое обеспечение проекта: аудио видео стенд. Для подготовки учеников к настоящим проектам необходимо начать их знакомство с данной технологией на уровне второй ступени обучения.
55394. Використання проектної технології як засіб активізації пізнавальної діяльності учнів на уроках інформатики 339.5 KB
  Мій досвід роботи в школі показав що в розвитку зацікавленості до предмета не можна покладатися тільки на зміст виучуваного матеріалу уникаючи залучення учня до активної діяльності.
55395. Творчі проекти у початковій школі 44 KB
  Творчий проект Казка про народнопоетичні символи України Я і Україна 4 клас Мета проекту. Поглибити знання школярів про народнопоетичні символи України; розвивати творчу уяву зв’язне мовлення школярів; виховувати любов до Батьківщини. Учні ознайомлюються з народнопоетичними символами України; виконують завдання у групах Казкарі та Художники. Завдання Групі казкарів: скласти казки про рослинні та тваринні народнопоетичні символи України: вербу калину тополю соняшник соловейка лелеку та ін.
55396. У пошуках майбутньої професії 63 KB
  Мета: познайомити учнів з деякими професіями, стимулювати стійкий інтерес до здобуття професійних знань;розвивати ерудицію, кмітливість, винахідливість , артистизм, навики ділової гри; формувати свідоме ставлення до вибору професії.
55397. Проект по профориентации 467.5 KB
  С этого момента начинается работа над проектами. Каждый ребёнок получил задание в результате выполнения которого он должен прийти к выводу почему именно эта профессия ему нравится.