UIC Руководства Архив Книжная полка Халява Сайтосмотр Дизайн "Бурзилка" Пишите

Структура сайта
Главная
UIC
Сервисы
Студенту ВМК
Руководства
Документация
(описания, учебники)
Выбор компьютера
Архив программ
Книжная полка
Халява
Диски
Коврики и т.д.
Вещевая
Сайтосмотр
Нижегородские сайты
Интересные ссылки
Web - дизайн
Обзор околокомпьютерных
рассылок Subscribe.ru
Журнал "Бурзилка"

Пишите письма

Web-дизайн. Статьи.

Mike Melnikov (cherry-design@mail.ru)
Web-studio "Cherry-Design"

  1. Как создать привлекательный web-сайт
  2. Аппаратная конфигурация компьютера
  3. Программы, используемые в web-мастеринге
  4. Информация - вот основа Internet!
  5. Что такое стильный web-сайт?
  6. Рисунок сотен слов дороже нам
  7. Оптимизация изображений в формате JPG
  8. Оптимизация изображений в формате GIF
  9. Броузеры, которые мы выбираем
  10. Интерактивность! Что? И как?
  11. Зачем нам нужен SSI?
  12. Слуга двух господ (часть I)
  13. Слуга двух господ (часть II)
  14. Слуга двух господ (часть III)
  15. Слуга двух господ (часть IV)
  16. Слуга двух господ (часть V)
  17. Как оформить таблицу?
  18. Как правильно регистрировать сайт?
  19. Бойцы невидимого фронта
  20. Немного слов о кодировках
  21. Как работает формат JPEG?
  22. JavaScript и объектная модель
  23. JavaScript: полезные функции (часть I)
  24. JavaScript: полезные функции (часть II)
  25. JavaScript: полезные функции (часть III)
  26. Сага о фреймах
  27. JavaScript: полезные функции (часть IV)
  28. С чего начинается сайт?
  29. JavaScript: полезные функции (часть V)
  30. JavaScript: полезные функции (часть VI)
  31. История про CSS (часть I)

Интерактивность! Что? И как?

Mike Melnikov (cherry-design@mail.ru)
Web-studio "Cherry-Design"

Первоначально была сеть, потом появилась электронная почта, и люди стали переписываться. Им захотелось рассказать о себе, поделиться информацией - появилась всемирная паутина (WWW). Но статические странички - это всего навсего статические странички... и тогда появилась интерактивность!

Сначала определимся с терминологией. Под интерактивными страничками я понимаю такие, в которых реализован интерфейс с какой-либо программой, выполняемой на стороне сервера. Форма на web-страничке принимает от пользователя некие данные, и броузер передает их web-серверу, который и запускает нужную программу. Программа после того, как отработала запрос, возвращает web-серверу результат, а уж он формирует на лету HTML-страничку и отсылает ее обратно броузеру.

Итак, что же мы можем сделать, используя интерактивность? Самое известное, что приходит в голову - это счетчики, гостевые книги, формоотправители, он-лайн магазины, интерфейсы к базам данных. Практически, можно сделать все, что угодно. Все зависит только от умения программиста.

Как это осуществляется технически? А вот как - на стороне сервера мы размещаем нужные программы, базы данных,.. и конфигурируем web-сервер таким образом, чтобы он смог передавать запросы пользователей из сети обрабатывающей программе и получать от нее результат. Делается это посредством протокола CGI - Common Gateway Interface (что по-русски звучит как "общий шлюзовый интерфейс"). CGI - это набор правил, по которым сервер передает запрос программе. Любая программа, написанная таким образом, чтобы удовлетворять этим требованиям, сможет использоваться на Web-сервере.

Язык программирования, на котором пишется программа, большого значения не имеет, и может быть использован любой. Наиболее популярным языком программирования, используемым для написания несложных программ, следует признать PERL - язык, первоначально разработанный для написания отчетов и идеально подошедший для несложных CGI-программ. Текст языка на PERL принято называть скриптом (не путать с JavaScript - программа на PERL выполняется на стороне сервера, в то время как JavaScript - на стороне клиента). Язык является интерпретирующим, то есть анализирующим текст программы в процессе выполнения. Для работы PERL на web-сервере должен быть установлен и правильно сконфигурирован соответствующий интерпретатор.

Таким образом, интерактивные странички можно разделить на две части: форма и программа. В форме нам нужно правильно описать все элементы интерфейса и указать путь к выполняемой программе. Как видите, все не так уж сложно. А что делать, если Вы не программист, а Вам нужна несложная программа? В этом случае можно воспользоваться архивом готовых скриптов, большинство из которых бесплатны. Все типичные задачи давно уже решены и отлажены. Это гостевые книги, счетчики, листы рассылок и т.п. Нужно просто найти нужную и внимательно прочитать описание к ней. После этого остается только правильно разместить элементы в форме и указать специфические параметры для данного скрипта. Более сложные программы уже приходится писать программистам, имеющим достаточный опыт для этого.

Отправка формы по почте

Давайте разберем типичный пример - отправку формы по почте. Для этого мы воспользуемся готовой программой из архива Matt Wright, предназначенной для отсылки содержимого формы по почте - FormMail. Этот скрипт нужно сконфигурировать и разместить на web-сервере в специальном каталоге, где располагаются CGI-программы. Обычно он называется cgi-bin (для уверенности проконсультируйтесь с вашим провайдером - предоставляет ли он услуги по размещению CGI-скриптов, и как называется каталог для размещения скриптов). А на страничке - описать форму. Таким образом, нам нужно подготовить два файла: создать HTML-форму и сконфигурировать Perl-скрипт под наши нужды.

Создание формы

Начнем, пожалуй, с формы. Описание формы будет заключаться между тэгами <form> и </form> и содержать внутри себя элементы формы. Мы сделаем самый минималистический вариант формоотправителя, который будет содержать следующие поля: имя, электронный адрес, текст сообщения. HTML-код нашей странички выглядит следующим образом:

<html>
<head><title>Форма для отправки по почте</title></head>
<body>

<form name="Request" action="/cgi-bin/formmail.pl" method="post">
<input type=hidden name="recipient" value="yourmail@domain.com">
<input type=hidden name="subject" value="Запрос информации">
Ваше Имя: <br>
<input type=text name="Имя"><br>
E-mail: <br>
<input type=text name="E-mail"><br>
Сообщение: <br>
<textarea name="Сообщение"></textarea><br><br>
<input type=submit value="Отослать">
<input type=reset value="Очистить">
</form>

</body>
</html>

Немного разъяснений по вышеприведенному коду. Обратите внимание на параметр action в тэге <form> - он определяет адрес нашего скрипта (.pl - стандартное расширение для программ, написанных на PERL). Первые элементы в форме - это специальные скрытые поля для передачи информации скрипту: поле recipient определяет e-mail, на который мы хотим отослать содержимое формы, а поле subject - строку, которая будет появляться как "тема письма". Далее идет уже описание непосредственно полей формы. Их может быть сколько угодно, но каждое из них должно иметь имя (параметр name в тэге <input>), т.к. результатом работы скрипта будет письмо, в котором каждая строка состоит из пары значений: имени поля и его содержимого. И заканчивается форма двумя кнопками, служащими для отправки сообщения (submit) и очистки формы до начального состояния (reset).

Конфигурирование скрипта

Теперь сконфигурируем скрипт. Опуская несущественные для нас детали, листинг нашего скрипта можно представить так:

#!/usr/bin/perl

$mailprog = '/usr/lib/sendmail';
@referers = ('www.cherry-design.spb.ru','195.5.155.48');

# Здесь располагается код скрипта.

В данном случае вся конфигурация сведется к установке IP-адреса компьютера, на котором расположен web-сервер, и конфигурирования путей для программ perl и sendmail. Первая - непосредственно интерпретатор языка PERL, а вторая - это программа, к которой обращается скрипт, и которая осуществляет посылку сообщения по почте. Адрес расположения PERL-интерпретатора всегда задается первой строкой в скрипте, и в данном случае программа доступна по адресу /usr/bin/perl. Расположение программы sendmail задается второй строчкой в нашем листинге. И, наконец, третья строчка задает имя и IP-адрес web-сервера (для примера я указал параметры моего сайта).

Вот, практически, и все. Наш скрипт осталось только переписать в каталог. Но тут есть одна тонкость - дело в том, что скрипт будет располагаться на UNIX-машине, а текст в UNIX-формате имеет одно отличие от Windows: конец строки в UNIX обозначается символом возврата каретки <CR>, а в Windows - парой символов: перевод строки <LF> и возврат каретки <CR>. Если переписать такой файл по FTP в режиме BINARY, то скрипт работать не будет!!! При копировании скрипта на web-сервер нужно установить режим ASCII, который автоматически преобразует концы строк к UNIX-формату.

У скрипта FormMail есть много дополнительных и очень удобных возможностей. Например - переадресация странички с подтверждением отправки сообщения или проверка правильности заполнения полей. Если Вас это заинтересует, то сходите на страничку Мэтта, и там Вы найдете не только описание FormMail, но и много других полезных скриптов. В этой статье я хотел просто показать, как применять готовые скрипты для нужд своего сайта, и поэтому опустил все несущественные детали и остановился на рассмотрении практических вопросов.

Назад | Содержание | Вперед

 

UIC Руководства Архив Книжная полка Халява Сайтосмотр Дизайн "Бурзилка" Пишите