СОДЕРЖАНИЕ

Как создать свой сайт Создать сайт
Основы Интернет : FTP HTTP хостинг Вводный курс
Создание сайтов : создать сайт Создание сайтов
Статьи о хостинге : платный бесплатный выделенный сервер Unix Все о хостинге
Учебник HTML Учебник HTML
Учебник CSS Учебник CSS
Учебник CGI : cgi-программирование : методы GET и POST Учебник CGI
Учебник php Учебник PHP
Учебник perl Учебник Perl
Раскрутка сайта : оптимизация кода ключевые слова индекс цитирования регистрация в поисковиках Раскрутка сайта
Заработок на сайте Заработок на сайте
Платёжные системы : rupay webmoney Платежи в сети
книги литература по html css xml flash java Dreamweaver Нужные книги

 

заработок для вебмастера
Заработок для начинающего вебмастера!

 


создать сайт // учебник CGI // простая CGI-программа

Простая CGI-программа

Рассмотрим пример программы, содержащей все три части, перечисленные на странице "Структура CGI-программы", а именно прием входных данных, выполнение инструкций, составляющих собственно алгоритм программы, и генерирование выходных данных. Пусть наша программа должна принять возраст пользователя и ответить ему, имеет ли он право голосовать. Код этой программы приведен ниже:

Посмотрите на те места этой программы, которые отмечены коментариями для облегчения чтения. В самой первой строке указан путь к интерпритатору Perl. При запуске программы Web-сервер ищет интерпритатор Perl по этому пути и, если не находит его, выдает сообщения об ошибке.

Поиск пути к интерпритатору в первой строке программы - это подход характерный для операционной системы UNIX. Большинство Web-серверов работающих под управлением Windows, находят интерпритатор на основании расширения имени файла. Но сервер Apache, независимо от того, работает ли он под UNIX или под Windows, использует подход системы UNIX.

Перед тем как выполнять алгоритм программы, нужно получить и обработать данные, введенные пользователем. В случае использования языка Perl этот шаг очень прост. Я просто импортирую CGI-модуль (библиотеку) с помощью команды use CGI. Импортировав модуль и создав объект запроса (его значение записано в переменной $query), я автоматически преобразую данные формы в структуру данных языка Perl.

После того как данные пользователя приняты начинается их обработка. В нашем случае она выглядит очень просто. Оператор if состоит из единственного условия:

$query->param('age') >= 18

Я проверяю значение параметра age. Если пользователь ввел значение большее или равное 18, то программа возвращает сообщение: "Вы имеете право голосовать!", а если значение меньше 18, то возвращается сообщение: "Вы еще не имеете право голосовать!". Вот и весь алгоритм программы. Конечно, настоящая программа может иметь более сложную логику.

После этого я вывожу текст страницы, которая будет передана пользователю. Сначала с помощью метода header объекта query я печатаю заголовок типа возвращаемых данных (CGI-программа должна генерировать такой заголовок, смотрите страницу "Как работает CGI-программа"), а затем открывающие тэги и заголовок (<TITLE>) страницы. Для того чтобы напечатать тело страницы, я проверяю с помощью оперетора if, является ли пользователь законным избирателем, и печатаю соответствующие сообщение.

У вас может возникнуть вопрос, почему я использую переменную voter, вместо того чтобы непосрадственно печатать значение возраста пользователя. В этом случае код выгдядел бы вот так:

Действительно, в таком случае я бы сэкономил несколько строк кода программы. Но дело в том, что так бы смешалась логика программы и ее вывод. В нашем случае логика программы весьма проста, но она могла бы быть намного сложнее, например можно было бы добавить еще несколько проверок других параметров. При использовании существующего подхода мне не нужно менять опереторы печати, даже если придется добавлять некоторые новые условия проверки. Всегда есть смысл разделять логику программы и выод ее результатов.

Давайте рассмотрим форму, которая может вызывать эту программу. В этой форме есть поле с именем age:

Посмотреть как работает эта форма вы можете кликнув тут. Введите в поле "Возраст" любое значение и нажмите кнопку "Проверить" и вы увидите как работает CGI-программа рассмотренная на этой странице!

Подробно о HTML-формах рассказывается в следующей части сайта "Ввод данных".

 



 

 

 

 

как создать свой сайт