PHP скрипты. Как управлять сообщениями с гостевой книги Phoca Guestbook Установка и русификация Phoca Guestbook

PHP 5.2 и выше;
- mod_rewrite;
- База данных MySQL 4.1 и выше.

Возможности

Встраивается под любой сайт(для этого нужно всего лишь отредактировать файлы top.php и bottom.php);
- антифлуд;
- бан лист;
- постраничная навигация вида >>;
- поддержка BBCode;
- отображение смайликов;
- уведомление о новых добавленных сообщений;
- возможность добавления сообщений на модерацию;
- панель администратора;
- простота в установке и настойке.

Установка

Распакуйте архив и скопируйте содержимое архива в любую папку на Вашем веб сервере (к примеру "guestbook"). Откройте файл config/config_db.php в текстовом редакторе и укажите настройки подключения (хост базы данных или IP, имя базы данных, логин и пароль). Разместите таблицы базы данных MySQL SQL-запроса из файла guestbook.sql. обычно на большинствах хостингах это делается посредством web-интерфейса через phpMyAdmin. Зайдите в панель администрирования (http://ваш_сайт/папка_с_скриптом/admin/) и введите пароль 1111. Далее укажите необходимые настройки.

Коммерческая версия

По желанию заказчика я могу адаптировать скрипт под конкретные условия. Могут быть добавлены различные дополнительные функции.

Примечание СКРИПТ "PHP Guestbook", ДАЛЕЕ ПРОСТО ПРОГРАММА ЯВЛЯЕТСЯ ПОЛНОСТЬЮ БЕСПЛАТНАЯ. ВЫ МОЖЕТЕ СВОБОДНО РАСПРОСТРАНЯТЬ, КОПИРОВАТЬ, ВНОСИТЬ СВОИ ИЗМЕНЕНИЯ В ИСХОДНОМ КОДЕ ПРОГРАММЫ, ЛИШЬ ПРИ УСЛОВИИ СОХРАНЕНИЯ КОПИРАЙТА АВТОРА. ИСПОЛЬЗОВАНИЕ ПРОГРАММЫ "PHP Guestbook" В КОММЕРЧЕСКИХ ЦЕЛЯХ ЗАПРЕЩЕНО. ВЫ ИСПОЛЬЗУЕТЕ ЭТУ ПРОГРАММУ НА СВОЙ СОБСТВЕННЫЙ СТРАХ И РИСК. АВТОР НЕ НЕСЕТ НИКАКОЙ ОТВЕТСТВЕННОСТИ ЗА РАБОТОСПОСОБНОСТЬ ПРОГРАММЫ, А ТАКЖЕ ЗА ПОТЕРИ, ПОВРЕЖДЕНИЯ ДАННЫХ ИЛИ ЧЕГО ЛИБО ДРУГОГО, СВЯЗАННЫЕ С ИСПОЛЬЗОВАНИЕМ И РАБОТОЙ ЭТОЙ ПРОГРАММЫ.

Если Вам понравился мой скрипт и у Вас есть желание отблагодарить меня рублем, то вот мои реквизиты:

WebMoney
U237811811298
R198597198920
Z917380288657

Яндекс деньги
41001635943434

PayPal

Если у Вас возникнут вопросы или есть предложения, пожалуйста, пишите мне на адрес: Этот адрес электронной почты защищен от спам-ботов. У вас должен быть включен JavaScript для просмотра.

Сегодня я опишу, пожалуй, лучшую задачу для новичков языка программирования PHP — Гостевая книга. На мой взгляд эта задача является наипростейшей, но при этом позволяет узнать все основные особенности работы с PHP и базой данных MySQL. Помимо этого, данная задача до бесконечности расширяема, что позволяет оттачивать новые технологии.

Описание и решение данной задачи будет написано сразу здесь, без проверок на работоспособность, поэтому, возможно, где-то есть опечатка. Сделано это не из-за моей лени, а опять таки из за дополнительной тренировки, при создании гостевой книги Вами. Так же представленное решение будет немного «кривовато», но об этом уже в конце данной статьи в разделе «Самостоятельная работа».

Если Вы совсем не знаете как работать с PHP, то для начала советую прочитать заметку PHP — с чего начать .

Мы будем разбирать создание самой примитивной гостевой книги, без дизайна и администрирования. Другими словами мы ограничимся входом в книгу, регистрацией ну и оставлением сообщений.
Из самой задачи становится понятно, что мы можем вполне ограничится тремя файлами php, для реализации данной задачи. Конечно задачку регистрации можно разбить на две: форма регистрации и добавления данных в базу, однако делать мы этого не будем. Аналогичные рассуждения допустимы и для процедуры оставления комментариев. Таким образом создаем три файла: index.php, registration.php, book.php.

По названиям файлов, можно сразу понять, за что они будут отвечать: index.php — страница входа, registration.php — страница регистрации, book.php — страница гостевой книги.

Самое простое в нашем случае это страница входа. Так как страница отвечает за ввод пары логина и пароля — на ней должна присутствовать форма для отправки этих данных на страницу book.php. А так же ссылка на страницу с регистрацией. Имеем:

Вход в гостевую книгу Логин:
Пароль:

Регистрация

Немного отойдя от темы, для тех кто не вкусе что означает код выше. Здесь мы имеем голый HTML. Ключевым моментом является тег form который принимает два параметра action , который отвечает за адрес страницы, который откроется после подтверждения ввода данных, и параметр method , который отвечает каким способом данные формы будут отправляться на указанную страницу (см. POST и GET простыми словами). Внутри тега form указываются поля для ввода (input, select), которые обязательно должны иметь атрибут name . Именно по значению данного атрибута можно будет получить введенные пользователем данные на странице указанной в параметре формы action. Обязательно внутри формы должен находится input с типом submit , который по своей сути является кнопкой, по нажатию на которую и произойдет отправка данных на страницу action.

Продолжим… Теперь нам нужно создать страницу с регистрацией нового пользователя. Стоит сразу продумать, что именно мы хотим иметь. Я решил, что для простой гостевой книги будет вполне достаточно иметь пользователей с уникальными логинами, а так же знать адрес их Web сайта (если он есть). Раз мы определились с тем что мы хотим знать о пользователе, значит мы можем начать проектировать нашу базу данных.

Заходим в phpMyAdmin. Создадим там базу с именем gb. В данной базе создадим таблицу Users со следующими полями:

Login varchar(50) unique //логин пользователя, уникальное поле password varchar(150) //пароль www varchar(255) //адрес сайта

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

Id int ai(auto_increment) primary_key //номер сообщения, счетчик, который сам будет увеличиваться mes text //текст сообщения who varchar(50) //логин того, кто оставил сообщение when timestamp default(current) //время оставления сообщения, по умолчанию текущая дата и время

С базой данных разобрались. Теперь переходим к файлу registration.php. Подведя итог вышеизложенному имеем:

Регистрация Логин:
Пароль:
Пароль еще раз:
WWW: http://


На главную

Немного о коде. Как Вы уже заметили, здесь присутствует PHP. Описывать форму я уже не буду, но как мы видим, здесь данные формы посылаются на ту же страницу, где расположена данная форма. Другими словами файл registration.php шлет данные сам на себя. Так делать никто не запрещает, однако использовать это можно не всегда, так как это сильно портит читабельность кода. Однако с другой стороны это наглядно демонстрирует возможности языка PHP. По сути наша страница разделена на два случая. Первый случай это когда на страницу шлются данные POST запросом, второй случай, когда на страницу никакого POST запроса не послано. Во втором случаем мы покажем форму для регистрации, а первом же начнем выполнять проверки присланных данных. Как видно данные шлются в виде ассоциативного массива (т.е. массива, индексами которого являются строки). Причем индексы совпадают с названиями полей input, указанными в форме отправки данных. Т.е. если мы пишем

то у нас, при отправке этих данных POST запросом, будет переменная

$_POST["vasa-peta"]

Так же стоит заметить, что никаких проверок на повтор логина мы не делаем. Данная проверка будет осуществляться на уровне базы данных, так как поле логин помечено как уникальное.

Теперь последнее. Осталось сделать саму гостевую книгу. Немного рассуждений. Так как гостевая книга работает по логину и паролю, то первое что нам придется делать — проверять введенный логин и пароль на наличие в базе. Так как мы решили добавлять сообщения так же в файле book.php, то очевидно следом должна осуществляться процедура добавления сообщения. Ну и в самом конце отображение всех сообщений. (если сделать добавление сообщение, после их отображения, то добавленное сообщение отобразится только после перезагрузки страницы). Имеем:

Гостевая книга