Как написать форум на php
Перейти к содержимому

Как написать форум на php

ExBB — PHP-форум на файлах

ExBB (Exclusive Bulletin Board) — это движок форума, написанный на скриптовом языке программирования PHP. В отличие от большинства PHP-форумов, он не требует наличия на хостинге MySQL, поскольку хранит все данные в обычных текстовых файлах. Такой движок отлично подойдет для использования на бесплатных или недорогих платных хостингах, поддерживающих PHP, но не предоставляющих доступ к БД MySQL.

Логотип ExBB

Языком по умолчанию в данном форуме является русский. Имеются также украинская и английская локализации.

Немаловажно, что движок ExBB является полностью бесплатным. Он распространяется по лицензии GNU GPL.

История

История форума ExBB началась летом 2003 года. Его первая версия была выпущена 10 августа. Начиная с версии 1.9.1, которая вышла в мае 2004 года, автор прекратил работу над форумом. Эстафету разработки ExBB приняла команда сайта TvoyWeb.

Форум ExBB 1.9.1

В июле 2007 года вышел ExBB FM 1.0 Beta. От предыдущих версий его отличало применение концепции объектно-ориентированного программирования. Со временем в движок вносились значительные изменения, позволившие сделать ExBB более быстрым и безопасным.

Со временем TvoyWeb перестал заниматься разработкой новых версий. Поэтому в феврале 2009 года открылся новый официальный сайт проекта — ExBB.org. 10 февраля, спустя полтора года после выхода бета-версии, состоялся релиз ExBB FM 1.0 RC1.

29 марта 2011 года вышла сборка ExBB FM 1.0 RC1.01. Она представляет собой релиз ExBB FM 1.0 RC1, в который были добавлены все критические обновления, а также несколько модов.

В 2012 году сайт сменил адрес на ExBB.info. 1 мая вышла сборка ExBB FM 1.0 Final. Для ее работы требуется PHP версии 5.3.

На сегодняшний день последней версией форума является ExBB 1.1. Релиз состоялся 27 июля 2016 года. Данная версия была создана на основе сборки ExBB FM 1.0 Final. Ее главная особенность — поддержка новых версий PHP, начиная от 5.4 и заканчивая 7.0. Если версия PHP 5.3 и ниже, то форум установить не удастся.

4 августа 2016 года состоялся предварительный релиз ExBB 2.0.0. Для работы этого форума требуется интерпретатор PHP версии не ниже 5.5. Основными отличиями данной версии являются кодировка UTF-8, новая структура данных форума, а также новый установщик.

Обзор форума

Для обзора была выбрана версия ExBB FM 1.0 RC1.01 как наиболее стабильная и проверенная временем.

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

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

Форум ExBB FM 1.0 RC1.01

Внешне форум практически неотличим от Invision Power Board 1.3. Разве что иконки форумов без надписи «IPB». Это базовый стиль форума под названием InvisionExBB. Помимо него, на сайте ExBB можно скачать еще более 2-х десятков скинов от разных авторов.

У ExBB присутствуют все стандартные функции, свойственные популярным табличным форумам: возможность создавать темы и опросы, прикреплять файлы, просматривать список «Кто в on-line?», имеется система личных сообщений. Редактируя профиль, пользователи могут выбирать аватары из списка стандартных или загружать собственные.

Тема с опросом

Стоит отметить большую подборку смайлов, поделенную на категории: «Радость», «Злость, негодование», «Праздники», «Значки и таблички», «Я такой!» и т.д. Всего в стандартную установку форума входит около 200 смайликов-колобков в стиле IPB.

Также имеется возможность поиска по форуму. Поисковая система основана на движке «RiSearch PHP».

Форум предоставляет достаточно широкие возможности для модерирования. Так, помимо стандартных функций редактирования и удаления сообщений имеется возможность прикрепления сообщений в теме. Такие сообщения, вне зависимости от их даты написания, будут находиться вверху темы.

Модератор может делить тему на части или переносить сообщения из одной темы в другую. Однако первое сообщение темы переместить нельзя, поэтому полное объединение тем невозможно.

Управление форумом производится через центр администрирования. Внешне он напоминает административную панель phpBB.

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

Центр администрирования ExBB

Для обеспечения соблюдения пользователями порядка на форуме имеются такие функции, как автоматическая замена нецензурных слов, блокировка участников по IP-адресу.

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

Технические особенности

Как уже было сказано, все данные форум хранит в текстовых файлах. Но файлы эти не совсем обычные. Метод записи в файлы кардинально отличается от традиционного, с использованием разделителей (так хранят данные большинство форумных движков — например, UBB, YaBB, Ikonboard). ExBB превращает массивы в строку с использованием стандартной функции PHP serialize() и записывает ее в файл. Для преобразования сериализованной строки обратно в PHP-значение используется функция unserialize().

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

Одним из преимуществ форума является то, что он не требует поддержки на хостинге функции конфигурирования веб-сервера посредством файлов .htaccess. При этом для безопасности хранения данных используется расширение .php, а вначале каждого файла перед сериализированной строкой записывается код <?die;?>, прерывающий вывод содержимого в браузер.

Для каждого форума создается отдельная папка вида forum1, forum2 и т.д. В папку записываются все темы, содержащиеся в данном форуме: 1-thd.php, 2-thd.php и т.д. Помимо этого, для каждого опроса создается дополнительный файл: например, для темы 3-thd.php будет создан 3-poll.php. Если в данной теме содержатся вложения, то сведения о них будут записываться в файл attaches-3.php, сами же вложения хранятся в папке uploads. Список тем в форуме находится в файле list.php. Количество просмотров тем записывается в отдельный файл views.php.

Учетные записи пользователей хранятся в папке members. Для каждого участника создаются файлы типа 1.php, 2.php и т.д., в которые записываются данные его профиля. Стоит отметить, что пароль пользователя хранится зашифрованным с использованием функции md5(). Благодаря этому даже администратор не может узнать, какие пароли используют пользователи на его форуме.

Серьезным недостатком ExBB является поддержка разными версиями форумов только строго определенных версий PHP. Например, ExBB FM 1.0 Final требует, чтобы на хостинге был установлен PHP версии 5.3, ExBB 1.1 — от 5.4 до 7.0, а ExBB 2.0.0 — не ниже 5.5. Отсутствие в новых версиях форума поддержки старых версий PHP создает неудобства для клиентов виртуального хостинга, не имеющих возможность установить необходимую версию PHP и, таким образом, вынужденных использовать на своих сайтах старые версии ExBB.

Распространенность

Стоит признать, что ExBB не может похвастаться большой популярностью. Так, согласно «Рейтингу форумов Рунета, Уанета и Байнета», его не использует ни один русскоязычный форум с количеством сообщений более 1 миллиона сообщений, украиноязычный с количеством сообщений более 50 тысяч или беларускоязычный с количеством сообщений более 2 тысяч.

Крупнейшими на сегодняшний день форумами, базирующимися на ExBB, являются:

    (368 тыс. сообщений); (278 тыс. сообщений); (59 тыс. сообщений); (56 тыс. сообщений); (41 тыс. сообщений); (31 тыс. сообщений).

Заключение

Функционал данного движка, конечно, несравним с ведущим программным обеспечением форумов — платными Invision, vBulletin, XenForo, и даже бесплатными phpBB и SMF. Но не стоит забывать, что данные движки требуют наличия на хостинге MySQL, а ExBB достаточно лишь поддержки PHP.

Есть еще достаточно функциональный форум на файлах, для которого также продолжается разработка новых версий — это YaBB (Yet another Bulletin Board). Но в отличие от ExBB он написан не на PHP, а на Perl.

Среди PHP-форумов на файлах у ExBB, пожалуй, нет конкурентов. И в этом его фишка.

Форум с использованием MySQL

Данное Web-приложение разработано Александром Левиным (loki_angel@mail.ru). Web-приложение представляет собой движок форума. Главным его достоинством является простота кода, которая легко позволит не только разобраться во внутреннем устройстве форума, но и легко добавить требуемую функциональность. Вместе с тем, данное Web-приложение является полнофункциональным форумом, который после того, как на него будет наложен дизайн — будет готов к работе. Пример работающего форума с наложенным дизайна можно посмотреть по адресу http://alna.spb.ru/forum/. Движок создан с использованием PHP и требует для своей работы наличие базы данных MySQL.

Текущя версия форума 2.0.0

Инсталляция:

Для успешного функционирования форума, необходимо создать базу данных, в которой необходимо разместить таблицы boardp и boardt. SQL-операторы CREATE, осуществляющие эти операции находится в файле forum.sql. После этого необходимо настроить конфигурационный файл conf.php, в котором помещены параметры соединения с базой данных.

В файле conf.php необходимо выставить адрес сервера MySQL ($dbhost), имя базы данных ($database_name), имя пользователя ($database_user_name) и пароль ($database_password). Все четыре переменные вам должен предоставить хостинг, при условии, что он поддерживает MySQL.

Кроме этого вы можете изменить значение переменной $num, которая несёт ответственность за число тем и сообщений на одной странице (по умолчанию 10), а так же переменную $sendmail присвоение которой true позволяет отправлять письмо-уведомление при создании на форуме новой темы. Письмо отправляется по адресу, указанному в $valmail

Как создать форум?

Как создать форум на php ? Какие коды нужны? Какие блоки создавать? надо ли подключаться к базе данных?

Ого, вы меню на html и css осилить не можете, а уже на форум претендуете))

Используйте готовое решение phpBB.

База данных нужна, а еще вебсервер. Но чтоб довести его до ума, все равно надо знать html + css .

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками php html css или задайте свой вопрос.

Site design / logo © 2022 Stack Exchange Inc; user contributions licensed under cc by-sa. rev 2022.6.10.42345

Нажимая «Принять все файлы cookie», вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.

Добавить комментарий

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