PHP Delphi CSS HTML JavaScript Perl API ASP MySQL XML С++ VBasic WEB разработка *NIX CouchDB Hack Python
Главная Статьи PHP Люди, используйте PHP! Часть вторая
Главная
 Главная  Контакты
 
Программинг
Статьи Книги ЧаВО
 
xBOOKi
Fresh Books Операционки Сети
 
Поиск
-------
 
Counters
Яндекс цитирования
Rambler's Top100
-------
 
CryptDisk.4h
Программа которая позволяет создать виртуальный шифрованный логический диск.

cryptdisk.4hack.com

-------
 
 

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

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

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

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

Имя:
E-mail:
URL:
Сообщение:

 

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

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

<!--Первое, что мы делаем - это мета-тег, возвращающий нас на страничку с гостевой книгой -->
<meta http-equiv="refresh" content="0;URL=guestbook.htm">
<!--Здесь начинается скрипт PHP-->

<?php
/* Определяем файл, в который будут записываться новые сообщения */
$files = "guest.txt";
/* Если посетитель не захотел оставлять свой E-mail, напишем "нет" */
if ( $email=="" ) {$email="нет";}
/* Здесь начинается раздел скрипта, убирающий кавычки < и >, таким образом обезвреживая теги HTML */
$msg=eregi_replace("<","",$msg);
$msg=eregi_replace(">","",$msg);
$email=eregi_replace("<","",$email);
$email=eregi_replace(">","",$email);
$name=eregi_replace("<","",$name);
$name=eregi_replace(">","",$name);

/* Кавычки можно написать как &lt; и &gt; , это мы тоже предусмотрим */
$msg=eregi_replace("&lt;","",$msg);
$msg=eregi_replace("&gt;","",$msg);
$email=eregi_replace("&lt;","",$email);
$email=eregi_replace("&gt;","",$email);
$name=eregi_replace("&lt;","",$name);
$name=eregi_replace("&gt;","",$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<hr><br><b>$time<br><br>
От:</b> $name<br>
<b>E-mail: </b><a href=\"mailto: $email \">$email</a><br>
<b>Сообщение: </b>$msg<br><br>";
/* Открываем файл с названием, которое мы указали в самом начале, и записываем в него переменную $zapis */
$fp = fopen($files, "a+");
$fw = fwrite($fp, $zapis);
fclose($fp); }
?>

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

<?php include("guest.txt") ?>

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

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

 



Свежее
Резервное копирование rsync-ом
DNS Amplification (DNS усиление)
Алгоритм Шинглов — поиск нечетких дубликатов текста
Metasploit Framework. Обзор
Использование CouchDB
-------



 
Copyright © 2003-2009   Frikazoid.
Rambler's Top100