Читать реферат по информатике, вычислительной технике, телекоммуникациям: "Практический Перл для начинающего" Страница 2

назад (Назад)скачать (Cкачать работу)

Функция "чтения" служит для ознакомления с работой. Разметка, таблицы и картинки документа могут отображаться неверно или не в полном объёме!

local ($buf);

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

read(STDIN,$buf,$ENV{'CONTENT_LENGTH'});

}

else {

$buf=$ENV{'QUERY_STRING'};

}

if ($buf eq "") {

return 0 ;

}

else {

@fval=split(/&/,$buf);

foreach $i (0 .. $#fval){

($name,$val)=split (/=/,$fval[$i],2);

$val=~tr/+/ /;

$val=~ s/%(..)/pack("c",hex($1))/ge;

$name=~tr/+/ /;

$name=~ s/%(..)/pack("c",hex($1))/ge;

if (!defined($field{$name})) {

$field{$name}=$val;

}

else {

$field{$name} .= ",$val";

#if you want multi-selects to goto into an array change to:

#$field{$name} .= "\0$val";

}

}

}

return 1;

}

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

И, наконец, Вам нужно выдать какие-то результаты броузеру клиента, причем так, чтобы броузер правильно их отобразил. То есть, выдавать результаты нужно в HTML. Это делается просто: (тоже можно по-разному)

print 'Content-type: text/html', "/n/n"; #обязательная строка

print '

В поле Category Вы ввели: ', $Category, '

',"\n"

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

При первом запуске скрипт рисует HTML страницу с формой и ссылкой в тэге ACTION на самого себя. Первый запуск определяется по отсутствию входных данных.

Если входные данные есть, то получаем их, обрабатываем и выдаем результаты.

Пример:

#! E:\perl5\bin\perl

if (($ENV{'QUERY_STRING'} eq '') or ($ENV{CONTENT_LENGTH}=0) )

{ # генерируем страницу с формой }

else

{# получаем данные, обрабатываем и выдаем результат}

Гостевая книга

Общий алгоритм работы гостевой книги таков:

1. Если посетитель хочет сделать запись в книгу, то

1.1 Получаем данные

1.2 Записываем их в файл или в базу данных

1.3 Говорим спасибо на HTML и предлагаем почитать другие записи

2. Если посетитель хочет почитать записи в книге, то

2.1 Читаем записи из файла или из базы данных

2.2 Выводим их красиво в HTML

Для удобства восприятия я оформил пункты 1 и 2 отдельными скриптами add_guestbook.pl и read_guestbook.pl соответственно. Сообщения гостевой книги хранятся в текстовом файле построчно, т.е. на каждую запись - строка. Так сделано для удобства чтения этого файла. Пример одной записи:

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

HTML

DoInclude("_menu.htm"); # Это SSI-включение навигационной панели.

print

HTML

die;

}

# Теперь получаем входные данные.

&GetFormInput; $Name = $field{'Name'} ;

$Work = $field{'Work'} ;

$RadioButton = $field{'RadioButton'} ;

$Text =


Интересная статья: Быстрое написание курсовой работы