Скрипт гостевая книга php

  • PHP для начинающих
  • Cимволы HTML
  • MySQL: Уроки, руководство
  • cPanel
  • Список кодировок

Главная Страница » Гостевая книга на PHP

GBook

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

Дальше | v.1.7 | Скачано: раз

@lexGuestbook

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

Дальше | v.5.0.4 | Скачано: раз

DRBGuestbook

Гостевая книга DRBGuestbook – это бесплатный, простой PHP скрипт, который не требует БД MySql. Не смотря на это, вы можете управлять программой, удалять сообщения, одобрять сообщения, банить пользователей по IP адресу, через защищенную паролем панель администратора.

Дальше | v.1.1.27 | Скачано: раз

Max’s Guestbook

Max’s Guestbook – это простой PHP скрипт гостевой книги. Все сообщения записываются в текстовый файл, по этой причине, БД вам не понадобиться.

Автор: Предводителев Сергей (niko.net.ru)

В этой статье мы научимся создавать гостевую книгу на PHP. И хотя эта статья написана для новичков, но Вы должны обладать хотя бы азами программирования на PHP.

Итак, для начала давайте определимся, что мы будем писать. В итоге мы должны получить гостевую книгу со следующими свойствами:

  • Посетитель обязательно должен ввести своё имя и сообщение, и по желанию свой e-mail и адрес домашней странички.
  • Разбиение на страницы.
  • Наша гостевая книга должна работать с register_globals = Off.
  • Все записи хранятся в обычном текстовом файле (т.е. нам не потребуется база данных).
  • Гостевая книга состоит из одного файла.

Примечание. Всё нижеследующее было протестировано на PHP 4.3.0.

С задачами вроде определились, теперь давайте разберёмся как у нас всё будет выгдядеть. Форма и записи будут выводится на одной странице. Наш файл будет называться gb.php . Напишем код формы. У меня получилось вот что:

Теперь разберёмся с основными настройками нашей гостевой книги:

Напишем код заголовка нашей страницы:

Строчки с META нужны для того, чтобы наша страница не кэшировалась. Первая строчка говорит браузеру, что страницу кэшировать не надо, а вторая – если браузер не понимает первый параметр Pragma, что время хранения нашей страницы в кэше – 0 сек.

Теперь приступим собственно к программированию. Для начала напишем функцию проверки введённых данных:

$HTTP_POST_VARS – это массив содержащий все ключи и значения переданные методом POST (работает при register_globals = Off ). Сначала в функции проверяется всё ли было передано, а затем были ли заполнены обязательные поля Имя и Сообщение. Конечно, можно ещё сделать проверку на корректность введённого e-mail и url и много чего ещё, но это уже если вам хочется, то делайте сами, а мы не будем на этом заморачиваться и пойдём дальше.

Читайте также:  Превьюшка для канала на ютуб

Рассмотрим как у нас будут хранится записи в файле. В одной строке файла – одна запись в следующем формате:

Имя|E-Mail|URL|Дата и время добавления|Сообщение

Перед добавлением записи мы должны немного подредактировать данные. Как можно заметить, для разделения частей записи мы используем знак |, значит наши данные не должны содержать этот знак – мы заменим его на аналог в html-коде: ¦ . Далее мы должны проверить длину сообщения, и если она больше некоторой величины (например более 1000 символов), то обрезать сообщение до нужной длины. Затем конвертируем все специальные символы в мнемоники HTML (функция htmlspecialchars ). И наконец, заменим все переносы строк в сообщении на
и отформатируем данные в нужном нам формате для записи в файл. Конечно и здесь можно сделать ещё кучу всяких прибамбасов, но это мы оставим для самостоятельный работы и будем делать нашу гостевуху дальше. Итак строку для записи в файл мы сформировали и теперь её надо добавить в файл, при этом не привысив лимит количества записей в файле (вспомните настройки нашей страницы: $max_rec = 128; ). Что-то я много пишу,а кода не видно: Вот вам наша функция добавления записи в файл:

$recs – это массив с записями. Если файл $file_gb существует, то с помощью функции file() мы присваиваем каждую строчку файла одному элементу массива, в противном же случае $recs – пустой массив. Далее идёт редактирование данных описанных выше. Затем с помощью функции array_unshift() добавляем в начало записей нашу запись. Далее следует проверка на количество записей, и если количество больше нужного, то с помощью функции array_slice() мы выделяем первые элементы в нужном нам количестве. Ну и, наконец, записываем наши записи в файл.

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

Глобальные переменные: $file_gb – файл с записями, $rec_page – количество записей выводимых на одну страницу – эти переменные мы определили в самом начале в настройках нашей гостевой книги. А вот $HTTP_GET_VARS – это массив содержащий все ключи и значения переданные методом GET , т.е. через URL (работает при register_globals = Off ) – это нам понадобится, т.к. номер страницы мы будем передавать как раз через URL. Разберёмся, что же делает наша функция. Сначала выполняется проверка – есть ли файл с записями – и если есть, то выполняется работа по выводу записей, а если нет файла, то выводится сообщение, что записей нет. Итак, если всё нормально и у нас есть файл с записями, то с помощью функции file() мы создаём массив строк файла $messages , а переменной $count присваиваем кол-во элементов полученного массива, т.е. количества записей. Далее идёт выполняется вывод навигации страниц и сами записи в соответствии с нужной страницей. В частности мы используем функцию nav_page , я приведу лишь её код.

Читайте также:  Символы для беседы в вк

Описывать я этот кусок не буду, вы можете прочитать об этом в моей статье постраничный вывод, где всё это подробно описано. Здесь я опишу только то, как мы выводим записи. Мы имеем цикл, в котором начальное и конечное значение $i – изменяется в зависимости от страницы, которую мы хотим отобразить. В цикле мы из элемента массива $messages[$i] создаём массив $tmp с помощью функции explode , которая разбивает строку на строки по границам образованными сепаратором |. Т.е. мы получаем массив в котором 0-й элемент – Имя, 1-й – e-mail, 2-й – url, 3-й – дата и время добавления, 4-й – само сообщение. Ну а дальше мы выводим нашу запись так как хотим.

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

Думаю ничего сложного в нём нет и вы сами разберётесь что куда 🙂

Всё! Мы написали всё, что нужно! Теперь соберите всё в кучу и получите полноценную гостевую книгу. Собирать в следующем порядке: 1)Заголовок файла, 2) Настройки GB, 3) Функции, 4) Нашу последнюю написанную строчку, 5) Форму для добавления, 6) колонтитул.

Кому лень всё собирать – можете скачать уже готовый. См. файл gb.zip.

Подведём итоги: Мы написали полноценную гостевую книгу и выполнили все задачи, которые поставили перед собой. Конечно можно сделать ещё кучу всяких фишек, написать администрирование гостевой книги и многое другое, но это уже тема другой статьи. В общем, надеюсь статья была вам полезна. Если что-то было не понятно, то милости прошу: пишите на мыло – обязательно отвечу.

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

Очень часто люди просят скрипт гостевой книги на html, либо на javascript. Увы, такого никогда нет и не будет, так как для работы гостевой книги необходимо хотя бы записывать сообщения в файл. А это сделать ни в JavaScript, ни, тем более, в HTML невозможно.

Читайте также:  Скад что это такое

Теперь копируйте папку guest в корень своего сайта. Далее располагайте на странице своего сайта ссылку на гостевую книгу (http://ваш_сайт/guest).

Следующим шагом будет настройка гостевой книги. Для этого зайдите по адресу http://ваш_сайт/guest/admin.php. Введите пароль "admin" и после успешной авторизации зайдите во вкладку "Конфигурирование". Краткое описание всех настроек:

  • Имя скрипта – поставьте свой название для гостевой книги Вашего сайта.
  • Текст приветствия – напишите любой текст, которые Вы хотите, чтобы видели Ваши посетители при посещении гостевой книги.
  • Рекламный блок – если Вы хотите разместить рекламу в гостевой книги, то скопируйте в это поле её код. Если её нет, то оставьте это поле пустым.
  • Ссылка на главную сайта – поставьте ссылку на главную страницу своего сайта.
  • Емайл админа / отсылать сообщения – укажите свой e-mail, а также выберите: хотите Вы получать сообщения на свою почту или нет.
  • Пароль админа – обязательно поставьте свой пароль. Не оставляйте "admin".
  • Включить МОДЕРИРОВАНИЕ сообщений? – если Вы хотите проверять каждое сообщение перед публикацией, то включите данную опцию.
  • Задействовать функцию АНТИСПАМ? – здесь можно отключить систему защиты от спама, либо выбрать один из трёх вариантов: обычная капча, загадка или матоперация. Если Вы выберите обычную цифровую капчу, то укажите также длину капчи в текстовом поле справа.
  • Задействовать функцию АНТИФЛУД? – данная опция позволяет отфильтровать сообщения не по теме.
  • Делать ссылки в тексте активными? – если поставите "Да", то тогда ссылки в тексте собщений будут активными. Это удобно для пользователей, но Ваша гостевая книга будет хорошим местом для спамера.
  • Включить / отключить графические смайлы? – если поставите "Да", то пользователь сможет использовать смайлики.
  • Макс. длина имени – допустимое количество символов в имени пользователя.
  • Макс. длина сообщения – допустимое количество символов в сообщении.
  • Сообщений на страницу – количество выводимых сообщений на одной странице.
  • Следование сообщений – сортировка по возрастанию или убыванию даты написания сообщения.
  • Скин – внешний вид.

На самом деле, существует огромное количество самых разнообразных скриптов гостевых книг. И когда я искал его, то перебрал не меньше двух десятков и остановился на этом по следующим причинам:

  • Простота установки.
  • Отсутствие MySQL (для новичков это большое преимущество).
  • Присутствует весь необходимый функционал для гостевой книги.

Надеюсь, Вы останетесь довольны этим скриптом.

Leave a Reply

Ваш адрес email не будет опубликован. Обязательные поля помечены *

You may use these HTML tags and attributes:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>