Глава 25. CGI-скрипгы____________________________________585

встречается предоставление возможности клиенту посылки запроса на поиск, который переправляется базе данных, а затем результат поиска возвращается клиенту в виде списка соответствующих запросу сведений. Кроме возврата информации, другим наиболее типичным примером использования CGI-скриптов является настройка интерфейса пользователя на Web-сайте.

(Совет)

Если вы увидите слова bin или cgi-bin в URL-адресе ссылки, то это верный признак того, что данное действие будет реализовано при помощи CGI-скрипта.

Как уже было сказано выше, существует два основных метода посылки информации скрипту. Эти методы — GET и POST. Скрипт будет по-разному производить разбор передаваемой ему информации в зависимости от выбранного метода посылки данных. Различия малы, однако если скрипт не сможет корректно проанализировать информацию, полученную от пользователя, то могут возникнуть ошибки. В листинге 25.1 приведен пример скрипта, который проверяет метод посылки данных и выполняет их анализ по-разному в зависимости от применяемого метода. '

h05851.jpg

#! /usr/bin/peri

if ($ENV{'REQUEST_METHOD'}eq 'POST'){

read(STDIN, $buffer, $ENV('CONTENT_LENGTH'});

@pairs= split(/&/, $buffer);

foreach $pair (@pairs){

($name, $value)=split(/=/, $pair);

$value=~tr/+/ /;

$value=~s/%([a-fA-FO-9][a-fA-FO-9])/pack("C", hex($l))/eg;

$contents($naine}=$value;

if ($ENV('REQUEST_METHOD'}eq 'GET')

@pair =split(/&/, $ENV('QUERY STRING'})