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 | |
Механизм формирования экономических потерь от погрешности измерений. Экономическая эффективность внедрения новых методов и средств измерений. Экономический эффект от проведения аттестации не стандартизованных средств измерений технологического контрольноизмерительного и испытательного оборудования. | |||