Настройки        14.01.2024   

Как управлять сообщениями с гостевой книги Phoca Guestbook. Гостевая книга Joomla — Phoca Guestbook Алчный guest book html

» » GBook

Этот PHP скрипт поможет вам реализовать функцию гостевой книги на вашем сайте. Без использования какой-либо Базы Данных MySQL, она не нужна, чтобы скрипт работал. Скрипт Gbook включает в себя множество мощных SPAM фильтров. А также защиту почты от СПАМеров.

В скрипте есть 2 txt файла – header.txt и footer.txt. При помощи этих файлов, вы сможете дополнить рекламными блоками или счётчиками свою гостевую книгу. Полностью изменить шаблон под стиль вашего сайта, тоже не вызовет особого труда. Программа Gbook может быть переведена на любой язык мира. Просто измените слова в одном файле language.

Преимущества скрипта.
  • Поддержка смайликов.
  • Не требует БД MySQL. Все сообщения хранятся в файле.
  • Оповещение админа по почте, о новом сообщении в Гостевой Книге.
  • Содержит 2 шага анти-спам проверки.
  • Можно забанить IP адрес, чтобы не смогли оставлять сообщения.
  • Получайте уведомление на почту, каждый раз, когда кто-то подписал вашу гостевую книгу.
  • Проверка сообщение: список «запрещенных» (не цензурных) слов к публикации. Прикрывается ****
  • Функция анти-флуд. Чтобы пользователи не публиковали сообщения так часто.
  • Личные сообщения.

Было рассказано о создании гостевой книги на сайте с помощью готового скрипта. Между тем, на небольших сайтах гостевая книга состоит обычно из нескольких сообщений (десять - пятнадцать) и редко пополняется новыми. В основном, книга засоряется спамом, всякого рода рекламой и ссылками на сайты. В результате, много времени тратится на её очистку и проверку (модерацию) сообщений.

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

Сначала создадим форму для сообщений в гостевой книге с помощью любого редактора HTML и CSS. Для нашего примера не будем отходить от дизайна рассмотренной ранее книги. Кнопку Добавить сообщение сделаем картинкой-ссылкой на форму обратной связи (страница forma_02.html), открывающуюся в небольшом окне (пример действующий, можете проверить!).

ГОСТЕВАЯ КНИГА
компании "Пупкин и партнеры"

23.10.2011
Иван Иваныч
Москва

Заказывал сайт в вашей компании.
Все сделали быстро и качественно.
Спасибо сотрудникам компании SEOMARK! Буду рекомендовать вас своим друзьям.

Админ . Всегда рады помочь!
21.10.2011
Губкин
Лондон

Поздравляем с началом работы гостевой книги.
Желаем успехов в работе и счастья в личной жизни.

Компания "Губкин и партнеры".

Админ . Спасибо!

Код ссылки "Добавить сообщение" следующий:
.

Здесь в JavaScript вы задаете адрес открываемой страницы (forma_02.html), ширину и высоту нового окна (500х600 пиксел) и его положение на экране монитора (верхний левый угол). Содержание окна не имеет каких либо особенностей и определяется необходимой вам информацией о посетителе: имя, адрес, e-mail, ICQ и т.п.

В случае удачной отправки сообщения выводится надпись:
"Спасибо за отправку вашего сообщения.
После проверки администратором сайта
оно будет добавлено в гостевую книгу. "
Полный текст РНР-страницы для рассмотренного примера следующий:





Сообщение




Сегодня я опишу, пожалуй, лучшую задачу для новичков языка программирования 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, то очевидно следом должна осуществляться процедура добавления сообщения. Ну и в самом конце отображение всех сообщений. (если сделать добавление сообщение, после их отображения, то добавленное сообщение отобразится только после перезагрузки страницы). Имеем:

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