Гостевая книга на PHP. Скрипт гостевой книги на PHP Амурный guest book html

A guest book can be a great way for your website visitors to make a permanent impression on their presence on your website without being too intrusive. Before you start thinking about the HTML source for a guestbook, you need to decide how you want it to flow and how you want it look. In this case we will look at a guestbook that places a form for users to sign at the top. Below that there will then be a list of all the comments posted by the readers.

The HTML Source Code

The HTML source for our guestbook will consist of a web form and a list of DIV containers which will hold the display for the signed comments. The Part of the code that will handle the form is a simple as this.

Please Sign Our Guestbook

Right below the form, we will place the comments for other users that have already signed the guestbook and that HTML that handles this looks somewhat like this.

Love your website, I will come back often!!

It was a great experience spending time here, Would love to contribute more!!

Wilbur Right

Great to be a part of what you are doing here!!

Adam Adeve

Wish you all the best and success in your project!

Tony Scott

Keep up the good work!!

The effects of placing these two pieces of HTML code on your Guestbook webpage would be as illustrated in the image shown above on the left.

Making It All Work

As is the custom with HTML, it is not too functional on its own as HTML was designed primarily as a way to handle displays of text and images. To solve this problem, we need to implement some server-side code to process the data collected by the guestbook form. This server-side code could be in any one of a number of programming languages such as PHP, ASP .NET, JSP, or Ruby. Since programming in these languages is beyond the scope of this article, I’m going to use generic, "pseudo" code to represent the server side code and give you an idea of how it might look.

connect to database

if(form submitted){

insert data into database()

read all guestbook entries from database and order by date descending

while(database entries exist){

// display entires in this format

print: "$fullname$
$date$

$message$."

close connection to database

The pseudo code above simply makes a connection to the database where the data is stored. It then checks to see if the guestbook form has been submitted. If it has, it then enters the data into the database.

The next thing the pseudo code does is read all the guestbook entries from the database and display them to the user right under the web form giving the result as seen in the image above.

Conclusion

There you have it. The HTML source for a guestbook does not get any simpler than that. Guestbooks are one of the easiest and most basic dynamic pages you will ever implement on your website. Of course the guestbook can be styled further and more complex modes of operation and data validation can and should be used to suite the flow of your website. Whichever way you choose to implement the guestbook, the basics as described in the pseudo code remain the same.

Создание гостевой книги на сайте

В предыдущих статьях было рассмотрено создание формы обратной связи на сайте. Другой вариант двустороннего общения с посетителями - гостевая книга , в которой посетители оставляют сообщения непосредственно на странице сайта. Администратор сайта может отвечать на них, редактировать, удалять и т.п. Гостевая книга при своих несомненных преимуществах перед формой обратной связи имеет один большой недостаток - она добавляет забот администратору. Теперь все сообщения посетителей видны на сайте и на них надо иногда отвечать. Кроме того, наши гости пишут не только благодарственные отзывы, но и всякие непотребства, причем занимаются этим с особым усердием. Убил бы этих "писателей"! Следовательно, за гостевой книгой надо постоянно следить и заниматься воспитанием хулиганов-бездельников. Пример гостевой книги показан на рис.1:



Рис.1. Один из вариантов гостевой книги

Вариантов гостевых книг, платных и бесплатных, в интернете множество. Иногда гостевая книга входит в перечень услуг, предоставляемых хостингом. В этом случае вам достаточно разместить ссылку на гостевую книгу на странице своего сайта и, при желании, настроить её интерфейс через панель управления. Одна неприятность - при смене хостинга вы лишитесь гостевой книги. Так что лучше иметь свою, тем более, что установка её на сайт проста как дважды два.

Гостевые книги могут строиться с использованием баз данных или без них. В последнем случае информация сохраняется в обычном файле. Если вы сторонник простых решений, то рекомендую второй вариант, то есть обойтись без создания базы данных. Мне понравилась гостевая книга, разработанная Сергеем Шестопаловым (см. его сайт "Домашние скрипты"). На сайте также предлагаются интересные авторские разработки для интерактивного общения с посетителями: форумы, гостевые книги, различные формы для комментариев, отправки сообщений, сбора статистики и много других полезностей. Обязательно загляните, рекомендую!

Для примера, рассмотрим установку Гостевой книги версии 2.0. Она обеспечивает следующие функции:

  • управление сообщениями: удаление, редактирование, комментирование,
  • настройка и вся работа производится через панель управления, то есть вам не потребуется знание программирования и других премудростей,
  • в сообщениях поддерживаются смайлики, форматирование текста и цветов,
  • предварительный просмотр сообщения,
  • есть система Антиспам, Антихакер, блокировка пользователей по ip, поиск злоумышленника по ip,
  • защита от рекламы и безопасность организованы с помощью капчи (ввод искаженных цифр). Также вы можете составить "черный список" нежелательных посетителей и перечень запрещенных к употреблению слов,
  • полностью настраиваемый интерфейс и многое другое.

Гостевая книга 2.0 при своей простоте вполне достаточна для большинства применений. Бесплатно скачать её можно с соответствующей страницы сайта Сергея Шестопалова. Размер папки с файлами после распаковки (имя - Book ) около 400 Кб.

Начинаем установку гостевой книги на ваш сайт:

1. Сначала необходимо проверить, что тарифный план вашего хостинга (контора, где размещён ваш сайт) поддерживает PHP. Если нет, то вам придётся скорее всего доплатить для перехода на другой тариф, поддерживающий РНР.

2. Закачиваем папку Book на свой сайт, обычно в корневой каталог, через панель управления или по FTP .

3. Ставим на нужной странице сайта гиперссылку на гостевую книгу - http://www.ваш_сайт /book/index.php.

4. Желательно также проверить права доступа к файлам и папкам вашего сайта. Удобнее всего это сделать через панель управления. Около каждой папки и файла стоят значки типа rwx, r-x или цифры 755, 644 и т.п. Они как раз и обозначают права доступа для администратора и гостей сайта:
r (или 4) - право на чтение данных из файла,
w (или 2) - право на изменение содержимого файла,
x (или 1) - право на исполнение файла.

Цифровое кодирование используется для сокращения записи. Например, 7 эквивалентна записи rwx (4+2+1) и т.д. Не вдаваясь в подробности этих сокращений, так как они обычно расшифрованы в руководстве к панели управления сайтом, проверьте, что для папок у вас стоит 755 (что соответствует rwx, r-x, r-x), а для файлов 644 (rw-, r--, r--). Обычно эти значения установлены по умолчанию и ничего менять вам не придется, но лучше все же проверить. Как говорится, "сосед мне друг, но сало лучше перепрятать".

Вот и всё! Заходите на свой сайт, открываете страницу, на которой вы поместили ссылку на гостевую книгу, переходите по этой ссылке и оставляете первое сообщение себе любимому.

Теперь несколько слов про обслуживание гостевой книги. Сеанс работы администратора с гостевой книгой начинается с авторизации - входа в панель управления по адресу http://www.ваш_сайт /book/admin/index.php. Логин и пароль для первого входа admin 111.

Далее вы сможете заменить пароль (это сделать желательно) и начать редактирование записей и отвечать на них. Интерфейс панели администратора чрезвычайно дружелюбный и вы без труда разберетесь со всеми функциями. Все инструменты понятны и дополнительно снабжены подсказками. Для примера, на рис.2 показана панель настройки внешнего вида главной страницы гостевой книги и раскрыт список доступных панелей:



Рис.2.

Конечно, совершенно аналогично описанному, вы можете установить и более полную версию Гостевой книги 3.2 Сергея Шестопалова, имеющую некоторые дополнительные функции: модуль статистики, возможность проверки сообщений администратором перед публикацией на сайте (модерация) и некоторые другие.

Как я уже говорил, на страницах гостевой книги любят оставлять свои сообщения разные нежелательные "друзья". Обычно они размещают здесь ссылки на свои сайты, прикрываясь восторженными отзывами о вашем сайте. В 99% случаев - это спам. Поэтому рекомендую исключить ввод адреса сайта в сообщениях. Для этого войдите в панель управления гостевой книгой и на закладке Внешний Вид - Форма снимите галку у пункта "Сайт", чтобы спамеры не использовали гостевую книгу для размещения ссылок на свои сайты. Электронную почту и ICQ лучше оставить, так как иногда люди хотят получить конфиденциальный ответ, то есть без размещения в гостевой книге. По окончании не забудьте нажать кнопку "Сохранить" внизу страницы.

Удаление пункта "Сайт" не всегда помогает против засорения гостевой книги и лучше всего проверять сообщения перед их размещением. Кстати, если сообщений поступает немного, то можно упростить гостевую книгу до обычной HTML-странички. Об этом простейшем варианте рассказано в

В данном уроке мы создадим гостевую книгу на PHP с использованием AJAX. Записи будут храниться в базе данных. Таблица будет содержать следующую информацию: имя отправителя, адрес email, IP адрес и дата-время последней записи. Будет использоваться jQuery (для реализации AJAX). Также будет реализована простая защита от спама - можно размещать не более одной записи каждые 10 минут.

Шаг 1. SQL

Для работы нашего приложения требуется создать таблицу:

CREATE TABLE IF NOT EXISTS `s178_guestbook` (`id` int(10) unsigned NOT NULL auto_increment, `name` varchar(255) default "", `email` varchar(255) default "", `description` varchar(255) default "", `when` int(11) NOT NULL default "0", `ip` varchar(20) default NULL, PRIMARY KEY (`id`)) ENGINE=MyISAM DEFAULT CHARSET=utf8;

Шаг 2. PHP

Основной файл будет содержать следующий код:

guestbook.php

Гостевая книга Добавьте ваш отзыв здесь function submitComment(e) { var name = $("#name").val(); var email = $("#email").val(); var text = $("#text").val(); if (name && email && text) { $.post("guestbook.php", { "name": name, "email": email, "text": text }, function(data){ if (data != "1") { $("#records_list").fadeOut(1000, function () { $(this).html(data); $(this).fadeIn(1000); }); } else { $("#warning2").fadeIn(2000, function () { $(this).fadeOut(2000); }); } }); } else { $("#warning1").fadeIn(2000, function () { $(this).fadeOut(2000); }); } };

Full Name:
Email Address
Message:
Ваше имя:
Ваш email:
Отзыв:
Заполните все обязательные поля Вы не можете размещать более одного отзыва в течении 10 минут (защита от спама)