Скрипт комментариев на сайте php mysql
Комментарии для сайта
Готовый код скрипта комментариев с пошаговой инструкцией, где его разместить, как осуществить связь с MySQL, и что и куда залить и подключить, чтоб всё заработало.
Я покажу вам готовый код скрипта и расскажу пошагово где его разместить, как осуществить связь с MySQL, и что и куда залить и подключить, чтоб всё заработало.
Сразу уточню, что весь представленный здесь код преобразуется в файлы в Notepad++ с соответствующим расширением и в кодировке utf8
Сначала сам скрипт
Разместить этот скрипт на странице можно двумя способами.
1. Скрипт размещается непосредственно на странице между тегами
2. В корневой директории сайта создаётся папка c названием, например js, если таковой ещё нет, и в неё помещается файл скрипта под названием, допустим script_comments.js
Тогда на странице, в тег прописывается подключение этого файла к странице.
Какой из этих вариантов лучше, я сказать затрудняюсь, но второй мне представляется более удобным.
Следующим шагом размещаем на странице код вывода комментариев и код формы комментариев.
Вставляется это всё одним блоком в том месте страницы, где вы хотите отобразить комментарии, обычно сразу после статьи.
p >>Напишите ваш отзыв: br > textarea name =» message » style =» width:80%; min-height:200px; » id =» message «> /textarea > /p >>
input name =» stranica » type =» hidden » value =»» ‘PHP_SELF’ ];?>» id =» stranica «>
input name =» js » type =» hidden » value =» no » id =» js «>
input name =» button » type =» submit » value =» Отправить » id =» send «> id =» resp «>
Так, с клиентской частью закончили, теперь пойдём на сервер.
Первым делом нужно скачать маленькую библиотеку jquery-1.5.1.min.js. (82kb)
Обычно представлена она открытым кодом, значит нажимаем правой клавишей и Сохранить как… сохраняем файл себе на компьютер.
У нас там уже есть один подключенный скрипт, рядом с ним прописываем ещё один.
Затем в директорию в которой находится файл страницы с комментариями, нужно загрузить файл с командами для БД.
$date = date ( «d-m-Y в H:i:s» );
$result = mysql_query ( «INSERT INTO messages (author, message, stranica, date) VALUES (‘$author’, ‘$message’, ‘$stranica’, ‘$date’)» );
if ($result == true)
> else
$date = date ( «d-m-Y в H:i:s» );
$result = mysql_query ( «INSERT INTO messages (author, message, stranica, date) VALUES (‘$author’, ‘$message’, ‘$stranica’, ‘$date’)» );
if ($result == true)
> else
?>
Следующий файл в ту же директорию — файл связи с базой данных connect.php
И последнее, что нам осталось сделать — это соединить нашу страницу, на которой будут выводится комментарии, с БД.
Теперь идём в БД MySQL. если у вас ещё нет БД, то её нужно создать.
На разных хостингах это делается по разному, поэтому я не буду подробно объяснять как это делается, а как создать БД на Денвере, можно прочитать здесь.
Когда база данных создана, заходим в phpMyAdmin, там должна быть строчка с именем вашей БД, и всё. Нам необходимо создать в ней таблицу.
Проходим во вкладку SQL — верхнее меню.
И в открывшемся окне пишем следующий запрос
Обратите внимание на левые апострофы, на клавиатуре на букве Ё.
Нажимаем Вперёд — всё таблица создана.
Блин, забыл привязку к конкретной странице. Переходим в таблицу во вкладку Структура, и добавляем одно поле с названием stranisa
Ну вот и всё, можно идти на свою страницу и тестировать комментарии.
Со стилевым оформлением, я надеюсь, вы справитесь самостоятельно.
После тестирования заходим снова в БД, в phpMyAdmin, в нашу созданную таблицу — все комментарии здесь
Нажимаем Отметить все и Изменить, вам откроются все отправленные комментарии, с указанием страниц, с которых они были отправлены.
Здесь их можно редактировать, удалять и переносить на другие страницы.
На этом всё. Вы можете изменить имена файлов и таблиц, но тогда внимательно просмотрите весь представленный код, и замените имена везде, где они фигурируют.
Как сделать комментирование на сайте
Очень часто у меня спрашивают, как сделать комментирование на сайте на PHP. Я решил не объяснять на пальцах каждому, а просто написать статью, в которой показать, как делается комментирование на сайте с использованием PHP и MySQL.
Мы сейчас будем разбирать PHP-код для создания комментирования на сайте, где имеется множество страниц, на каждой из которых свои комментарии. Например, таким образом, реализовано у меня. Это самый популярный вариант, когда у каждой страницы (статьи, поста и прочего) свой набор комментариев.
Первым делом, создаём таблицу в базе данных (пусть она называется comments), где будут храниться комментарии со следующими полями:
После создания таблицы, давайте создадим HTML-форму, которую нужно будет размещать на каждой странице, где Вы хотите разрешить добавление комментариев:
Теперь займёмся обработкой формы. Для этого создаём файл comment.php с таким кодом:
query(«INSERT INTO `comments` (`name`, `page_id`, `text_comment`) VALUES (‘$name’, ‘$page_id’, ‘$text_comment’)»);// Добавляем комментарий в таблицу
header(«Location: «.$_SERVER[«HTTP_REFERER»]);// Делаем реридект обратно
?>
Но всё это уже детали, а комментирование на PHP уже сделано.
Чтобы понять весь алгоритм и, главное, научиться самостоятельно создавать подобные скрипты, обязательно изучите PHP и MySQL, и в этом Вам поможет мой Видеокурс «PHP и MySQL с Нуля до Гуру«: http://srs.myrusakov.ru/php
Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!
Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.
Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления
Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.
Порекомендуйте эту статью друзьям:
Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):
Комментарии ( 159 ):
Вы либо невнимательно читаете, либо Вам ещё просто рано про это вообще читать. Вы основы точно знаете? Теперь по вопросам: 1. Вывод комментариев на той же странице, где форма. 2. Как он может такое писать? Только если, конечно, Вы не открываете через file:///Z:\home. Если так, то забудьте про эту статью. С такой проблемой новички сталкиваются в первый день обучения PHP.
Евгений вы для начала разберите алгоритм создания комментариев. Всё создаётся на одной или двух страницах. Допустим если на двух то: text.php //это файл для формы и вивода комментов update_comment.php //это фаил обработчик Вот и всё!
сорри поспешил, ушел дальше разбираться
Спасибо Михаил всё это знал только вот не знал как id страницы отправить спасибо!!
Салам! Михайил У меня вывод комментариев на странице не выходить. В базе MySQL данные есть но на странице нету!
Тысяча причин, все перечислить невозможно. Могу лишь назвать парочку: по-другому названы поля в таблице, соответственно, неверный запрос. Либо ещё файл не обрабатывает PHP вообще, либо он имеет расширение html, либо запускается неправильно (допустим, просто открывается через двойной клик в браузере).
Михаил, а идентификатор страницы, обычная строка или с Auto_increment
Это уникальный номер страницы (число). А какой он, неважно, главное, чтобы число и уникальный.
хорошая статья)) попробую ))
Да, поскольку используется PHP-код.
теперь выдает Array ( [id] => 0 [page_id] => 150 [name] => Петр [text_comment] => Все хорошо )) ) Это как вообще?
Как мне сделать, чтоб просто выводило Имя и комментарий?
Вы не умеете работать с массивами? Очень плохо. Найдите в Google материалы по работе с массивами в PHP, посмотрите, что это такое, как они создаются, как считываются значения.
и ещё, у меня русские буквы не отображаются. Я пишу но ничего не меняется (
Что же мы будем делать и что получим в итоге данного урока:
Теперь создаем папку с модулем и следующие файлы:
/modules/comments/
/modules/comments/controllers/Comments.php
/modules/comments/libraries/Comments_lib.php
/modules/comments/models/Comments_model.tpl
PHP скрипт комментариев на Codeigniter 3 + AJAX + jQuery + MySQL
Построение дерева комментариев к статьям на PHP (Codeigniter 3) с помощью рекурсии
Логику работы данной рекурсии мы уже разбирали при создании модуля меню. Функции идентичные.
Модель с запросами Comments_model.php:
Думаю вопросов с данным файлом и запросами ActiveRecords не возникнет и мы пойдем дальше.
Далее рассмотрим исходный код html который мы генерируем в цикле для каждого комментария:
Дальше разберем форму:
Ну что же. Необходимо добавить щепотку соли из стилей:
Вот и все на сегодня. Как всегда посмотреть работу скрипта вы можете в демо-версии движка. Не забыл я и про исходники сайта с модулем comments. Всех еще раз с праздниками и легкого кодинга вам, дорогие друзья. Жду много ваших положительных отзывов 😉
Комментарии на PHP, Ajax, mySQL
Представляю вашему вниманию скрипт комментарием на PHP с использованием Ajax, jQuery (отправка комментариев без перезагрузки страницы), для хранение комментариев используется база данных mySQL. Данный скрипт подойдет для большинства сайтов работающих на самописном движке или на любом другом: Joomla, WordPress и т.д.
Возможности скрипта:
Установка скрипта
1. Создайте таблицы в БД импортировав в неё install.sql (лежит в архиве со скриптом)
2. Настройте подключение к БД в файле config.php
3. Вставьте на страницу где будут выводится комментарии, в самое её начало: (Внимание! иклуд должен быть в самом начале кода страницу, перед ним не должно ничего выводиться в браузер, это важно)
4. Вставьте в то место страницы где требуется выводить комментарии, следуюущий код:
Для администрирования коммантариев добавте в URL адрес, переменнуй pass=12345 (пароль задается в config.php)
Примеры:
Настройки
На самом деле настроек очень много, скрипт можно подключить к сайту таким образом, что скрипт будет определять зарегестирован ли пользователь на сайте и его авторизацию, при этом комментировать можно будет без ввода имени и эл. почты. Данные будут браться из БД (из пользовательской таблицы движка).
Но в данном топике эту возможность я описывать не будут т.к. подключение к каждому движку будет иметь свои особенности.
Базовые настройки производятся в файле config.php
Обратите внимания на строку
По умолчанию включены аватарки от gravatar.com, для их отключения установите значение данной настройки в false.
Купить English версию: 99 руб.
Укажите в комментарии к платежу, ваш емаил, на него придет ссылка на скачивание скрипта!
Надеюсь данный скрипт комментариев пригодиться вам и будет служить верой и правдой. По всем вопросам прошу отписываться в комментариях.
В файле class.dbsql.php в строке 129 заменить UTF8 на cp1251
А также таблицам в БД (`rche_comments`, `rche_users`) и их полям присвоить кодировку cp1251_general_ci
UPD2: Реализована система антиспам, антибот и капча с выводом изображения с проверочным кодом. Теперь кол-во спама будет сильно ограничено.
UPD3:
1. Если у вас не работает капча проверьте наличие PHP модуля GD. картинка капчи генерируется средствами PHP.
2. Если не работает UPD1(кодировка win1251) возможно модуль PHP — iconv не подключен, также проверьте.
Проверяем наличие PHP модулей командой phpinfo();
UPD4:
Отпишусь сразу всем, в последней сборке от 08.11.2012 исправлены следующие баги:
— отображение картинки капчи при ответе на комментарий
— ошибка при проверке капчи на ответ
Для самостоятельного устранения багов:
в файле /class.comments.php строка 131, измените строку на (подставив в ID букву R)
Было
Расшифровка возможных ошибок:
ERR1: Ошибка: Имя должно состоять более чем из 3 символов
ERR2: Ошибка: E-Mail указан неверно
ERR3: Ошибка: Отсутствует текст комментария
ERR4: Ошибка: Не удается установить тип комментария. Попробуйте позже
ERR5: Ошибка: Не верно указан проверочный код с картинки.
Проблемы с работой в кодировке Windows-1251:
При работе скрипта в данной кодировке не всегда правильно распознается введенный текст скриптом JavaScript, это может проявляться в некоторых браузерах. Желательно использовать кодировка UTF-8
PHP скрипт комментариев + AJAX + JS + MYSQL + CSS
В данной статье мы создадим PHP скрипт для реализации системы комментариев на сайте. Наш скрипт комментариев в основном будет реализован, как вы уже догадались на языке программирования PHP. Как сопутствующие языки программирования будут: MySQL, JavaScript, а также технология Ajax (Асинхронный javascript), он используется для реализации обмена данными с сервером без перезагрузки страницы, что очень удобно при создании системы комментариев. Само собой, нам понадобятся HTML и CSS, для реализации внешнего вида системы комментариев.
Шаг 1 – Создание таблицы для комментариев в БД
Создание PHP скрипта комментариев следует начать из создания таблицы в БД. Для этого воспользуемся следующим MySQL запросом:
id – это идентификатор самого комментария, имеет значение NOT NULL auto_increment, он обязателен, думаю, вам понятно почему. Ведь это ключ для доступа к конкретному комментарию.
id_article – это идентификатор материала, к которому относится комментарий. В нашем случае это статья, в вашем, можете назвать его как угодно.
name – имя пользователя, который будет добавлять комментарий.
mail – e-mail пользователя.
text – текст комментария, или собственно сам комментарий.
date_add – дата добавления комментария, максимальное значение поля установлено 18 символов, это для того чтобы дата добавления комментария имела вид: 22.07.2011 в 14:03. То есть, получается, что в строке даты у нас 18 символов. А больше нам и не надо, поэтому устанавливаем значение varchar(18).
public – это будет нашим администраторским допуском к публикации комментария. Данное поле будет иметь всего 1 символ, причем цифровой: 1 или 0. (1 – публикуем, 2 – не публикуем).
Шаг 2 – PHP скрипт системы комментариев
Для реализации системы комментариев нам необходимо создать следующие функции:
1. Вывода комментариев
2. Добавления комментариев
Добавление комментариев
Для этого создадим файл add_comment.php. Для начала напишем функцию добавления комментариев. Для этого вставьте в ваш файл, следующий код:
Немножко обговорим этот php скрипт. Верхний блок кода нужен для корректной работы ajax скриптов. Что происходит в этом блоке кода? Сначала идет задержка работы php скрипта на 1 секунду, это для того, чтобы увидеть анимацию ожидания, при добавлении комментария. Далее выводятся header, которые определяют кодировку контента и т.д. После мы преобразуем в нужную кодировку все входящие данные методом POST. Потому что они будут отосланы средствами ajax, и будут иметь другую кодировку.
Думаю с этим все понятно.
Вывод комментариев
Теперь напишем вывод комментариев. Для удобства создадим еще один файл show_comments.php
И поместим в него следующий код:
Вот это уже настоящая функция для вывода комментариев. Здесь все просто. В предыдущем коде, я не объяснил об файле config.php, который подключается с помощью строки include(«config.php»); Этот файл нам необходим для работы с БД. В нем записаны параметры подключения, вот пример кода этого файла:
В этой строке записан элементарный запрос к БД, где указывается, что мы выбираем комментарии, относящиеся только к данной статье ($id_article), и те которые одобрил администратор (public = 1).
Шаг 3 – Визуальный вывод комментариев
Для отображения списка комментариев создадим файл comments.php. Данный файл можно будет подключать в нужное место (низ статьи, или иного контента).
Вставьте в файл comments.php следующий код:
Вот так будет выглядеть наш файл, отвечающий за визуальное отображение блока комментариев, а также формы добавления комментариев. Если вы заметили, то дизайн будет подобным к дизайну системы комментариев на нашем сайте (sitear.ru).
Вот так будет выглядеть наш блок комментариев:
А вот так раскрытая форма добавления комментария:
Этот файл имеет HTML код, который не нужно объяснять веб-программисту. Единственное что нужно, внимательно просмотрите код, и там где подсказки типа: «Вмонтируйте…», вставьте свои значения для корректной работы php скрипта комментариев.
В этом коде есть элементы javascript кода, которые не нужно объяснять. В следующем шаге рассмотрим js функции, и тогда все станет понятней.
Шаг 4 – Вспомогательные Javascript и Ajax функции
Все эти функции хранятся в файле js_comments.js. Ниже предоставлена его исходная структура:
Файл большой, но здесь все понятно. Начнем с самого простого, а самое интересное, оставим на потом.
functionclearText(field) – очищает поле ввода при фокусе, предназначена для удобства и дизайна.
functiontoggle(id) – сворачивает и разворачивает div блоки. Также имеет вспомогательные функции gh(), vhe(). Мы уже рассматривали о функции сворачивания и разворачивания блоков, в другой статье.
functioncreateObject() – создает объект XMLHTTPRequest, который будет производить обмен данными с сервером по технологии ajax.
functionajax(param) – функция принимает многомерный массив param, в котором указывается: куда отправлять данные (url), где выводить статус работы скрипта (statbox), метод отправки данных (method), data – все, что мы отправляем на сервер, success– указание на функцию, которая будет принимать ответ сервера и обрабатывать присланные данные.
Вот так вкратце о вспомогательном файле php скрипта комментариев. Как видите, если рассматривать php скрипт комментариев в одиночку, то он может показаться не сложным, но сложно связать вместе разные языки программирования. Только связав несколько языков программирования, получится все красиво и интересно.
Шаг 5 – другие вспомогательные файлы скрипта комментариев
Мы подходим к завершающей части нашей статьи, и рассмотрим CSS файл. Я дам пример его кода, но объяснять, у меня уже нет сил. Если вас не устраивает дизайн блока комментариев, вы легко можете поменять css файл.
style.css:
Также даю картинки, которые я использовал при создании дизайна комментариев. Еще раз напоминаю, можете менять все на свой вкус.
Скачать и установить скрипт комментариев
По многочисленным просьбам пользователей, написан скрипт, который нужно только установить и настроить под стиль своего сайта. Обзор скрипта, демо-версия, скачать, а также почитать, как его установить можно в статье: Скрипт Ajax комментариев. Если вам тяжело разобраться, как самому написать систему комментариев, настоятельно советую установить готовый срипт и не мучится.
Заключение
Данный пример системы комментариев не до конца реализован. Вам самим необходимо дописать администраторскую сторону: Одобрения комментариев, Удаление комментариев и т.д. Но теперь у вас есть основы и понимание как создать php скрипт системы комментариев на вашем сайте.
Надеюсь вам все понятно о php скрипте комментариев. Если есть еще вопросы по поводу создания php скрипта комментариев, обращайтесь через комментарии снизу статьи.