Глава 25. CGI-скрипты____________________________________595

Subject:<SELECT NAME="subject">

<OPTION>Hello!

<OPTION>Help!!

<OPTION>Reply please

</SELECT>

<P>

Enter your comments:<br>

<TEXTAREA NftME=comments ROWS=10 COLS=60>

</TEXTAKEA>

<P>

<INPUT TYPE="SUBMIT">

</FORM>

</BODY>

</HTML>

После того как эта форма будет заполнена посетителем, информация из нее будет передана на сервер, который переправит ее CGI-скрипту, указанному в атрибуте ACTION формы. В данном примере информация, введенная пользователем, будет обрабатываться скриптом mail.pl.

В листинге 25.3 приведен полный текст скрипта mail.pl. Первая строчка в этом скрипте сообщает системе, что это PERL-скрипт, а также определяет полный путь к программе-интерпретатору скрипта.

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

Далее скрипт выполняет синтаксический анализ входного потока, поступающего от сервера, записывая отдельные элементы этого сообщения в массив contents. Это позволяет легко манипулировать с информацией, введенной посетителем.

Ну и, наконец, электронное сообщение отправляется адресату, а посетителю выдается новая HTML-страница с благодарностью за присланные комментарии, информирующая его, что письмо было благополучно отправлено.

h05951.jpg

#!/usr/bin/peri $mailprog= "/usr/lib/sendmail";

$recipient= "userX@foo.bar.com";