Люди! Используйте PHP! — часть вторая

Автор: manager Вторник, Март 18th, 2008 Нет комментариев

Рубрика: Интернет

В этой статье я, как и обещал расскажу о такой полезной вещи как гостевая книга. Есть много вариантов гостевых книг и на Perl, и на ASP, и на PHP. Для начинающих Perl не совсем понятен (читай — совсем не понятен). ASP и PHP более или менее понятны новичку, но я всё-таки выбрал PHP (наверное, просто из личной симпатии к нему).

Итак, сначала надо решить, какие поля для заполнения вы предложите посетителям вашего сайта. Обычно, это Имя, E-mail, URL домашней странички и, конечно, само сообщение (или коментарий).

Исходный код:

Вы, конечно, можете сделать эту форму в таблице, дабы улучшить её внешний вид :) , добавить другие поля и т.д., но тогда придёться немного подправить код скрипта (кстати, он у нас называется guestbook.php). Итак, мы создали страничку с формой (и назвали её guestbook.htm), на этой же страничке будут выводиться новые сообщения. Теперь займёмся скриптом. Он будет отвечать за чтение данных из формы, их обработку, очистку от HTML тегов и запись в файл с сообщениями (назовём его guest.txt). Ну, поехали :)


<?php
/* Определяем файл, в который будут записываться новые сообщения */
$files = "guest.txt";
/* Если посетитель не захотел оставлять свой E-mail, напишем "нет" */
if ( $email=="" ) {$email="нет";}
/* Здесь начинается раздел скрипта, убирающий кавычки , таким образом обезвреживая теги HTML */
$msg=eregi_replace(«»,»",$msg);
$email=eregi_replace(«»,»",$email);
$name=eregi_replace(«»,»",$name);
/* Кавычки можно написать как < и > , это мы тоже предусмотрим */
$msg=eregi_replace(«<»,»",$msg);
$msg=eregi_replace(«>»,»",$msg);
$email=eregi_replace(«<»,»",$email);
$email=eregi_replace(«>»,»",$email);
$name=eregi_replace(«<»,»",$name);
$name=eregi_replace(«>»,»",$name);
/* Обрезаем каждую переменную, на случай, если кто-то захочет побаловаться */
$msg=substr($msg,0,499);
$email=substr($email,0,39);
$name=substr($name,0,39);
/* Эта часть кода работает только при заполненых полях Имя и Сообщение */
/* Она как раз и отвечает за запись данных в файл */
if ($msg != «» && $name != «»)
{
$time = Date(«M d»);
/* Создаём переменную, которая будет записана в файл guest.txt */
$zapis = «\n


$time

От: $name
E-mail: $email
Сообщение: $msg

«;
/* Открываем файл с названием, которое мы указали в самом начале, и записываем в него переменную $zapis */
$fp = fopen($files, «a+»);
$fw = fwrite($fp, $zapis);
fclose($fp); }
?>

Ну, вот и всё. Осталось только в нужном месте в файле guestbook.htm вставить скрипт, который будет выводить на экран записи из файла guest.txt Этот скрипт будет выглядеть так:

Теперь закачиваем всё это дело на сервер, открываем в броузере, пробуем — работает! Если не работает обращайтесь ко мне, что-нибудь придумаем.

В следующей статье я расскажу о том, как сделать оптимизатор HTML кода на PHP, который вы потом сможете применять для страничек своего сайта (сжимает от 5 до 30 %).

Евгений Молодкин

Оставить комментарий

Чтобы оставлять комментарии Вы должны быть авторизованы.

Похожие посты