FRNET.NAROD.RU » Статьи » Запись мнения пользователя в файл
  » Навигация
- - - - - - - - - - - - - - - -
  » Наша кнопка
- - - - - - - - - - - - - - - -
   » Запись мнения пользователя в файл
 
Автор: Алексей Голубев

Сайт: http://www.frnet.narod.ru/

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

Я сразу приведу скрипт, а потом его построчно объясню. Итак, вот он:

#! /usr/bin/perl //1

require "cgi-lib.pl"; //2
"Content-type: text/html\n\n"; //3

&ReadParse(*input); //4

srand($$^time); //5
$fname=$input{"Name"}.int(rand(99999)); //6

if (-e "$fname.txt") { //7
print "<b>Ошибка создания файла. Попробуйте еще раз!</b>"; //8
exit 0; } //9

open(FILE, ">$fname.txt"); //10
select (FILE); //11
$tim=localtime(); //12
print < Отзыв пользователя $input{"Name"} //14
==================================== //15
$input{"Opinion"} //16
==================================== //17
Отзыв получен $tim //18
OTZYV //19
close(FILE); //20
select(STDOUT); //21
print "<b>Ваш отзыв был успешно отправлен на сервер!</b>"; //22

exit 0; //23
Все строки пронумерованы, как видите. Строки означают следующее:

1 – данная строка указывает местоположение интерпретатора языка Perl на сервере, обычно она выглядит так. Однако лучше переспросите об этом хостинг-провайдера.
2 – строка присоединяет библиотеку с функциями для работы с HTML-формами.
3 – поскольку мы будем отправлять пользователю сообщение об успешном или нет результате обработки заполненной им формы, то нам необходимо указать тип текста, который сценарий будет посылать браузеру.
4 – данной строкой читается содержимое формы.
5 – инициализируем генератор простых чисел.
6 – генерируем имя файла. Оно состоит из имени, введенного пользователем и случайного числа.
7,8,9 – проверяем, имеется ли файл, такого же имени, как мы сгенерировали или нет. Если да, то пользователю выводится сообщение об ошибке.
10 – создаем и открываем со сгенерированным именем для записи в него.
11 – перенаправляем вывод в файл, так как по умолчанию вывод направлен на web-страницу.
12 – определим время отправки запроса.
13 – 19 – задаем формат, в котором записываются данные в файл.
20 – закрываем файл.
Осталось только выдать сообщение пользователю сообщение об удачном выполнении запроса:
21 – перенаправляем вывод назад в стандартное русло.
22 – непосредственная печать сообщения в окне браузера.
23 – выход из программы.

Скрипт вроде описал, а вот саму форму забыл. Надо ведь сохранить все имена элементов, из которых считается информация. Вот эта форма:

<form action="папка/где/расположен/скрипт/opinion.pl" method="post">
Ваше имя: <input type=text name="name"><br>
Мнение
<br> <textarea name="opinion"></textarea><br>
<input type="submit" value="Отправить">
</form>
Думаю HTML уже не вызовет у Вас затруднений. Если они все же возникнут, то пишите.

P.S.1. Скрипт разобран в книге «Новейший самоучитель по разработке web-страниц», издательство «Десс Ком», Москва – 2000, В. Белунцов.

P.S.2. Для формы можно также сделать проверку заполнения полей, однако это Вы смогли бы сделать и сами, если возникнут вопросы пишите.

P.S.3. Вы можете скачать этот пример (prel-скрипт+HTML-форма).

 

  » Друзья сайта
- - - - - - - - - - - - - - - -
  » Разное
- - - - - - - - - - - - - - - -
  » Счетчики
- - - - - - - - - - - - - - - -
  Дизайнер и ведущий проекта: Голубев Алексей
Copyright Alexei Golubev © 2004
Hosted by uCoz