MySQL & mSQL



              

Спецификация CGI - часть 4


Пример 9-2. Синтаксический анализ CGI-данных на Perl

#!/usr/bin/perl -w

use CGI qw(:standard);

# Используется модуль CGI.pm. qw(:standard) импортирует

# пространство имен стандартных CGI-функций,чтобы получить

# более понятный код. Это можно делать, если в сценарии

# используется только один объект CGI.

$mycgi = new CGI; #Создать объект CGI, который будет 'шлюзом' к данным формы

@fields = $mycgi->param; # Извлечь имена всех заполненных полей формы

print header, start_html('CGI.pm test'); ft Методы 'header' и 'start_html',

# предоставляемые

# CGI.pm, упрощают получение HTML.

# 'header' выводит требуемый заголовок HTTP, a

#'start_html' выводит заголовок HTML с данным названием,

#a также тег <BODY>.

print "<р>Данные формы:<br>";

foreach (@fields) { print $_, ":",- $mycgi->param($_), "<br>"; }

# Для каждого поля вывести имя и значение, получаемое с помощью

# $mycgi->param('fieldname').

print end_html; # Сокращение для вывода завершающих тегов "</body></html>".

Обработка входных данных в С

Поскольку основные API для MySQL и mSQL написаны на С, мы не будем полностью отказываться от С в пользу Perl, но там, где это уместно, приведем несколько примеров на С. Есть три широко используемые С-библиотеки для CGI-программирования: cgic Тома Бу-телла (Tom Boutell)*; cgihtml Юджина Кима (Eugene Kim)t и libcgi от EIT*. Мы полагаем, что cgic является наиболее полной и простой в использовании. В ней, однако, недостает возможности перечисления всех переменных формы, когда они не известны вам заранее. На самом деле, ее можно добавить путем простого патча, но это выходит за рамки данной главы. Поэтому в примере 9-3 мы используем библиотеку cgihtml, чтобы повторить на С приведенный выше сценарий Perl.

Пример 9-3. Синтаксический анализ CGI-данных на С

/* cgihtmltest.c - Типовая CGI-программа для вывода ключей и их значений

из данных, полученных от формы */

#include <stdio.h>




Содержание  Назад  Вперед