» » @lexGuestbook

@lex Guestbook – это бесплатный PHP guestbook скрипт для сайтов. Написанный на языке PHP, @lex Guestbook легко устанавливается за считанные минуты, даже новичкам будет легко разобраться.

PHP guestbook полностью бесплатный скрипт – основное условие: не убирать копирайт в низу страницы. PHP guestbook устанавливается на ваш сервер и полностью независим от каких-либо других сайтов. Резервное копирование сообщение в PHP guestbook по вашему желанию, хоть каждый день. Автоматическая установка Alex Guestbook : название таблиц в БД прописываются сами.

Преимущества скрипта.

  • Благодаря скинам, вы можете изменять внешний вид @lexGuestbook под дизайн вашего сайта. (все скины валидные XHTML 1.0 Transitional)
  • В PHP guestbook встроено около 20 языков.
  • У каждой страны, отображается свой флаг.
  • Поддержка смайликов: возможность добавить свои смайлики, удалить, редактировать.
  • Отображается статистика символов: вы можете задать максимальное количество букв в одном сообщении.
  • Внутренняя поисковая система.
  • Возможность оценки со стороны посетителей. Оценка по 10-ти бальной системе.

Поддерживаемые языки

Полный перевод.
Французский, Английский, Польский, Немецкий, Норвежский, Итальянский, Голландский язык, Словацкий, Персидский, Турецкий.

Частичный перевод. Некоторые слова по-прежнему на английском.
Испанский, Русский, Шведский, Чешский, Хорватский, Португальский, Исландский, Сербский, Датский.

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

Гостевая книга "; } else { echo "Ваше сообщение не добавлено!


"; } } ?>
" name="login" /> " name="password" />

"; echo "Текст: ".$row["mes"]."
"; } } mysql_close($link); ?>

Вот по сути и все. Если код 100% рабочий, хорошо. Если нет, то советую Вам постараться самостоятельно исправить ошибки. Теперь обещанный раздел.

Самостоятельная работа
Как уже говорилось в начале, данное решение «кривое». Если Вы еще не поняли почему, то я сейчас поясню. Как вы могли заметить в файле book.php в форме добавления комментария присутсвуют несколько скрытых полей, при этом два из них — это введенный пользователем логин и пароль. Не хорошо, не правда ли? Попробуйте исправить данный недочет использую сессии (Как работать с сессиями в PHP).
Постарайтесь ответить на вопрос, чем отличаюься функции empty/isset и exit/die ?
Измените запрос выборки сообщений из базы так, чтобы при при выводе сообщений отображался web сайт автора сообщения.
Если вы заметили, то пароль пользователей в базе данных храниться в открытом виде, а это очень не хорошо. Отредактируйте код так, чтобы в базе хранился хэш пароля пользователя (например MD5 или SHA1).

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

Возможности

Встраивается под любой сайт(для этого нужно всего лишь отредактировать файлы top.php и bottom.php);
- антифлуд;
- бан лист;
- постраничная навигация вида << < ...| 5 | 6 | 7 ... > >>;
- поддержка 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 для просмотра.

Привет читателям сайт )

В данной статье мы рассмотрим Phoca Guestbook - компонент гостевой книги для Joomla-сайтов .

Что можно сказать о данном компоненте... Очень простой и удобный в администрировании, имеет достаточное количество настроек для размещения отзывов на Вашем сайте.

Возможности Phoca Guestbook:

  • выбор прав доступа для пользователей;
  • фильтрация не желаемых слов и фраз;
  • блокировка IP-адресов;
  • ограничение количества печатаемых символов;
  • капча;
  • модернизация сообщений (проверка модератором);
  • внешний вид отзывов (цвет, отображение имя, отображение e-mailи адреса сайта).

Итак рассмотрим компонент.

После установки, Phoca Guestbook не нуждается в глобальных настройках.

Панель управления:

  • Posts - все сообщения оставленные пользователями;
  • Guestbooks - категории (созданные гостевые книги);
  • Info - Информация и обновление компонента.

Как видно, на рисунке справа есть кнопка "Параметры". Если нажать на нее, то можно более обширно настроить гостевую книгу и сам компонент.

Параметр

Значение

Display Subject In Form

(Да | Да (обязательно) | Нет) показать или скрыть поле Объект в форме, устанавливается, если поле Тема будет требоваться

Display Name In Form

(Да | Да (обязательно) | Нет) показать или скрыть имя поля в форме, устанавливается, если поле Name будет необходимо

Display Email In Form

(Да | Да (обязательно) | Нет) показать или скрыть поле e-mail в форму, установите поле e-mail, если потребуется

Display Website In Form

(Да | Да (обязательно) | Нет) показать или скрыть поле Сайт в форме, установите поле, если сайт будет требоваться

Display Content In Form

(Да | Да (обязательно) | Нет) показать или скрыть содержимое поля в форме

Enable Javascript Editor

(Да | Нет) Включить или выключить JavaScript Editor

Display Path In Javascript Editor

(Да | Нет) показать или скрыть информацию о пути в редактор JavaScript

(Скрыть | Дисплей) Установите, если форма должна отображаться или нет.

(Top | Нижний) Выберите Текущее местоположение

Display Required Sign

(Да | Нет) Установите для отображения полей, которые требуются

(Да | Нет) Установите, для отображения сообщений.

ширина (в пикселях)

высота (в пикселях)

Установить ширину таблицы (таблица, в которой отображается форма, в пикселях)

Параметр

Значение

Если не зарегистрированный пользователь оставляет сообщение, то можно дать ему имя по умолчанию. Например: Гость

Username Or Name

(Имя пользователя | Имя) выберите имя которое должно быть отображено в Гостевой книге (Имя пользователя или реальное имя пользователя)

Disable User Check

(Нет | Да) Проверка пользователя (отключение этого параметра не рекомендуется)

Registered Users Only

(Да | Нет) Если Да, то только зарегистрированные пользователи могут добавлять новые сообщения

(Да | Нет) Если да, то сообщение будет отображаться после одобрения администратора

Отправить письмо

Параметр

Значение

Display Name In Post

(Да | Нет) показать или скрыть имя (имя пользователя) (гостевой книге)

Display Email In Post

(Да | Нет) показать или скрыть электронную почту (гостевой книге)

Display Website In Post

(Да | Нет) показать или скрыть сайт в (гостевой книге)

Установить формат даты

Установить цвет шрифта

Second Font Color

Установить второй цвет шрифта (цвет шрифта даты)

Background Color

Установить цвет фона

Установка цвета границы

Pagination Default Value

Установите значение по умолчанию для нумерации страниц

Установить нумерацию страниц. Отделяются друг от друга запятой (,)

Pagination Hide All

(Да | Нет) все значения будут скрыты (нумерация страниц)

Параметр

Значение

Forbidden Word Filter

Установить запрещенные слова, которые не будут отображаться в интерфейсе. Слова отделяются друг от друга запятой (,)

Forbidden Whole Word Filter

Установить все запрещенные слова, которые не будут отображаться в интерфейсе. Слова отделяются друг от друга запятой (,)

Save post with forbidden words

(Да | Нет) Если да, то посты, которые включают в себя запрещенные слова, будут сохранены в гостевой книге (запрещенные слова будут скрыты, если сохранены)

Добавить IP которые вы хотите заблокировать. Отделите каждый IP запятой (,)

Maximum Characters

Установить максимальное число символов, они могут быть сохранены в базе данных

Установить максимальное количество URL, которые могут быть отображены в сообщении (0: нет, ссылки будут отображаться в сообщениях, -1: все URL-адреса будут отображаться в сообщениях, например 3: только три ссылки из всех URL будут отображаться в сообщениях)

Not Allowed URL Identification Words

Набор слов, который будет определять допускать ли URL-адреса в сообщении. Отделите каждое слово запятая (,). Пример:: / /,. HTM,. ASP,. JSP,. PHP, WWW.,. COM,. ORG,.

Включение или отключение защиты Captcha

Измените этот параметр только в том случае, вы не будете видеть капчу.

Enable Captcha - Users

(Все | Не зарегистрированы) Параметр отображения капчи для груп пользователей (показывать ли капчу зарегистрированным)

Standard Captcha Characters

Числа, строчные буквы, символы верхнего регистра, которые будут отображаться в стандартном изображении Captcha

Math Captcha Characters

Числа, строчные буквы, символы верхнего регистра, которые будут отображаться в Math изображения Captcha

TTF Символы

Числа, строчные буквы, символы верхнего регистра, которые будут отображаться в TTF изображения Captcha

TTF Captcha Characters

Для отображения ре-капчи, введите публичный код

reCAPTCHA Public Key

Установить рекапчи Public Key

Enable Akismet Spam Protection

(Нет | Да) Посылает все данные новой записи geustbook в Akismet - веб-сервис для проверки спама

Block Spam (Akismet)

(Нет | Да) Блокировать посты, которые не прошли проверку в Akismet

Установить Akismet API ключ, который необходимо использовать в Akismet-Spam. Получите ваш на https://akismet.com/signup/ бесплатно

Основной URL вашего сайта.(URL должен включать префикс http://)

Enable HTML Purifier

(Нет | Да) Включить или выключить HTML Purifier

Установить суффикс сессии (Это функция безопасности, чтобы изменить имя сессии, установите уникальный суффикс, например: a100b20c3)

Enable Hidden Field

(Нет | Да) Включить или выключить скрытые поля. Некоторые спам-ботов пытаются заполнить все поля на месте, если они заполняют это скрытое поле, которое человек не видит, запись не будет добавлена в гостевой книге.

(Да | Нет) Включить кэш.

Enable Detecting Incoming Page

(Да | Нет) Включить или выключить обнаружение входящих страниц. Это функция безопасности. Если вы включите её,то страницу, с которой пришел пост к гостевой книге, будет сохраняться и отображаться в интерфейсе.

Здравствуйте, друзья! Сегодня мы поговорим о создании гостевой книги дJoomla , позволяющей пользователям оставлять свои записи с вопросами, мнениями и отзывами. Для этой благой цели нам понадобится бесплатный, простой, удобный и с русским интерфейсом компонент, поддерживающий все существующие версии Joomla. Под все эти определения подходит !

Гостевая книга — еще один прекрасный способ наладить контакт с пользователями вашего сайта. Напомню, что ранее мы уже рассматривали создание формы обратной связи и добавление на сайт .

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

Хотя, что я об этом рассказываю! Думаю, большинство из вас много раз сталкивались с ней на различных сайта, ибо эта фишка очень популярна. Хватит разглагольствовать, давайте приступим к практике.

Установка и русификация Phoca Guestbook

Прежде чем приступать к установки компонента Phoca Guestbook, его следует скачать. Идем на официальный сайт разработчиков , где нам следует скачать две вещи:

Поочередно установите компонент и языковой пакет к нему через . При установке Phoca Guestbook появится следующее окошко:

Так как мы устанавливаем компонент Phoca Guestbook, а не обновляем его, то нажимаем «Install». Установка пройдет автоматически, и после ее окончания в разделе «Компоненты» появится новый подпункт — «Phoca Guestbook». В него то мы и заходим.

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

Интерфейс должен быть на русском языке, что значительно упростит работу с Phoca Guestbook и создание гостевой книги Joomla. Переходим в раздел «Гостевые книги» и нажимаем на кнопку создать в тулбаре.

Все что от нас требуется, это ввести название гостевой в поле заголовка и нажать «Сохранить и закрыть» в тулбаре.

Вот так быстро мы создали гостевую книгу! Теперь следует вывести ее на страницу сайта.

За создание страниц отвечают пункты меню Joomla, поэтому создаем новый пункт меню с типом «Phoca Guestbook — Гостевая книга». В обязательных параметрах выбираем только что созданную гостевую и жмем «Сохранить и закрыть».

Настройка гостевой книги, защита от спама

Перед тем как гостевая книга примет первых пользователей, ее еще необходимо настроить и защитить от спама. В панели управления компонента Phoca Guestbook воспользуемся кнопкой «Настройки».

Все опции полностью на русском и снабжены подсказками, которые появляются при наведении на них курсора мыши, поэтому разобраться с ними будет несложно.

В закладке «Форма» располагаются настройки формы для составления сообщения: какие поля в ней будут присутствовать, позиция по отношению к записям, размеры окна редактора и некоторые другие опции.

В разделе «Основные» представлены следующие опции:

  1. Показывать проверку пользователя — при отключенной проверке, гости сайта могут использовать для оставлении сообщения имена и адреса электронной почты зарегистрированных в Joomla пользователей.
  2. Только зарегистрированные пользователи — гостевая книга станет доступна только зарегистрированным посетителям;
  3. Рассматривать сообщение — перед тем, как запись появится, она должна пройти модерацию и быть одобрена админом Joomla. Работать с записями следует через раздел «сообщения» компонента Phoca Guestbook.
  4. Послать Email — на email выбранного пользователя Joomla будет приходить письмо с оповещением о появлении новой записи.

Третий раздел «Сообщения» позволяет настроить внешний вид записей гостевой книги Joomla.

На самом деле, я бы посоветовал отключить совсем капчу от Phoca Guestbook и воспользоваться отличным плагином .

Последний раздел — «Права» . Задает права доступа для групп пользователей, хотя его можно вовсе не трогать.

Вот и разобрались с плагином Phoca Guestbook. Большое спасибо за внимание! Берегите себя!