Практический Перл для начинающего
Информация - Компьютеры, программирование
Другие материалы по предмету Компьютеры, программирование
l соответственно. Сообщения гостевой книги хранятся в текстовом файле построчно, т.е. на каждую запись - строка. Так сделано для удобства чтения этого файла. Пример одной записи:
Sat Dec 5 13:31:20 1998&Наташа&студентка&Good&Для начала хорошо. Успехов на данном поприще Вам, Александр!&нету@пока&194.226.60.34
Вот описание полей рассматриваемой гостевой книги.
Name - имя, фамилия, отчество, кличка - на усмотрение посетителя
Work - профессия, род занятий
RadioButton - три кнопки: понравилось (Good), не понравилось (Bad), пофигу (Different)
Text - text box комментариев и примечаний
Email - обратный адрес
add_guestbook.pl - запись в книгу
#! e:\perl5\perl
# Первая строка, как обычно
require "ssi-pl.pl";
# Я использую навигационную панель в виде SSI-включения. Для этого используется модуль ssi-pl.pl
if (($ENV{QUERY_STRING} eq ) or ($ENV{CONTENT_LENGTH}=0) )
{
# Если нет входных данных, то генерируем страницу с формой
print <
">
<img src="../images/guestbook.GIF"
alt="Книга жалоб" WIDTH="258" HEIGHT="60">
HTML
DoInclude("_menu.htm"); # Это SSI-включение навигационной панели.
print <<HTML;
<table border="1" width="100%" cellspacing="0"
cellpadding="0">
по
профессии простой посетив
данный сервер и ознакомившись с представленными
на нем материалами, хочу выразить свои чувства и
эмоции следующими приличными словами:
<input type="radio" value="Good" checked
name="RadioButton">
<input type="radio" name="RadioButton"
value="Bad">
мне
пофигу :-|
В дополнение к сказанному хочу
так же сказать:
Прошу принять к рассмотрению
мое заявление и незамедлительно принять меры.
Решение по моему заявлению направить письменно
на мой электронный адрес <input type="text" name="Email"
size="20">
<input src="../images/send.JPG" name="Send"
alt="Послать" border="0" type="image" WIDTH="53" HEIGHT="21"> <a
<img src="../images/read.jpg" alt="Почитать" border="0"
WIDTH="63" HEIGHT="21">
HTML
die;
}
# Теперь получаем входные данные.
&GetFormInput;
$Name = $field{Name} ;
$Work = $field{Work} ;
$RadioButton = $field{RadioButton} ;
$Text = $field{Text} ;
$Email = $field{Email} ;
$Send = $field{Send} ; # это поле не используется
# Проверяем, заполнены ли обязательные поля.
# Если нет - генерируем HTML страницу с просьбой заполнить нужные поля.
if ($Name eq || $Email eq || $Text eq )
{
print <<HTML;
Content-type: text/html
">
<img src="../images/guestbook.GIF"
alt="Книга жалоб" WIDTH="258" HEIGHT="60">
HTML
DoInclude("D:/InetPub/wwwroot/_menu.htm");
print <<HTML;
<td width="10" height="53