Основные принципы работы с базами данных на Perl описаны Брайаном Уилсоном (e-mail: brian.wilson@netscapeworld.com) (см. «Мир ПК», № 11/97, с. 52). Если невозможно найти печатный вариант издания, то можно найти нужную статью на Web-сервере www.pcworld.ru.
Понятие о СGI |
---|
CGI (Common Gateway Interface) — спецификация программ, которые пользователь может выполнять на Web-сервере. В этом случае устройством ввода-вывода считается программа просмотра гипертекстовых страниц или браузер. CGI представляет собой стандарт взаимодействия Web-сервера с прикладными программами. Программы CGI можно писать на любых языках типа Си++, Паскаль, Visual Basic и им подобным, но тогда возникают ограничения на переносимость ПО с одной серверной платформы на другую. Интерпретатор же Perl сейчас существует практически на любой платформе. |
В журнале «Мир ПК», № 8/97, с. 88 была опубликована статья А. и Г. Фроловых «Активный сервер Web: расширения CGI». Поскольку ее авторы в основном специализируются на программировании в Си/Си++, их работа также была ориентирована на разработчиков, использующих именно эти средства в сочетании с MS IIS (Microsoft Internet Information Server).
Рассмотрим ниже аналогичные возможности при программировании на Perl. Ниже будет показано, как реализовать диалог с посетителем Web-страницы или Web-узла, чтобы собирать различную информацию. Будут рассмотрены вопросы создания Perl-программ типа гостевой книги (рис. 1), списка рассылки новостей и простейшей системы идентификации посетителя.
Можно загрузить из Internet практически любые необходимые Perl-программы. Вот несколько узлов, на которых есть ПО на любой вкус: www.freescripts.com, www.scripts.ru, www.basicnet.sonnet.ru/download.
Как же работает механизм взаимодействия клиента с сервером, а конкретнее — с CGI-программой? Из приведенной на рис. 1 схемы видно, что пользователь сначала заполняет форму и подтверждает введенную им информацию нажатием соответствующей кнопки. Затем эти сведения из формы передаются на сервер.
HTML-код нашей формы гостевой книги выглядит следующим образом (листинг 5):
Листинг 5. Исходный текст HTML-формы <FORM METHOD=”POST” ACTION=”/cgi-bin/guestbook.cgi”> <BLOCKQUOTE> <TABLE BORDER=”0” CELLPADDING=”0” CELLSPACING=”0”> <TR> <TD COLSPAN=”2”>ГОСТЕВАЯ КНИГА<BR> <BR> </TD> </TR> <TR> <TD>Ваше имя: </TD> <TD><INPUT TYPE=”text” NAME=”signer” SIZE=”40”></TD> </TR> <TR> <TD>E-Mail: </TD> <TD><INPUT TYPE=”text” NAME=”email” SIZE=”40”></TD> </TR> <TR> <TD>Город: </TD> <TD><INPUT TYPE=”text” NAME=”city” SIZE=”20”></TD> </TR> <TR> <TD>Home Page URL: </TD> <TD> <INPUT TYPE=”text” NAME=”url” SIZE=”40” VALUE=”http://”></TD> </TR> <TR> <TD COLSPAN=”2”>Комментарии:<BR> <TEXTAREA NAME=”comments” COLS=”40” ROWS=”4”> </TEXTAREA><BR> <INPUT TYPE=”submit” VALUE=”PostIt!”></TD> </TR> </TABLE> </BLOCKQUOTE> </FORM>
Из всех тегов, присутствующих здесь, непосредственно к форме относятся только <FORM>, <INPUT>, <TEXTAREA> и </FORM>.
При создании HTML-форм используется пара тегов <FORM></FORM>. Чтобы послать информацию на сервер (запустить на нем CGI-программу, которая обработает введенные данные), к тегу