Войти Регистрация

Скрипт ajax комментариев: скачивание и установка


Написав статью о том, как создать скрипт комментариев на ajax, меня вдохновило создать скрипт ajax комментариев. Все познания работы с сервером через ajax, есть у вышеописанной статье. Главное было придумать, как идентифицировать материал (статью, фото, картинку…), чтобы можно было привязать к ней комментарий. Ведь проблема в том, что если привязываться к id в БД, то работая с различными материалами, могут встречаться одни и те же иды, к тому же, не очень удобно при вызове скрипта комментариев, передавать туда ид желаемого материала.  Здесь меня осенило, ведь можно сделать привязку комментариев к URL, это значит, что у каждого материала в любом случае он будет уникальным и к тому же его можно вычислить автоматически.

Результат моей идеи это реализованный скрипт системы комментариев, который вы можете скачать и протестировать. Также вы можете скачать для utf-8 сайтов, который перекодирован и настроен Андреем Колесниковым, за что ему отдельная благодарность.

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

Отдельная благодарность  Серикбайулы  Саттару и Фонареву Константину!

Просьба! Внизу формы добавления стоит неиндексируемая ссылка (nofollow) на сайт автора (sitear.ru). Ее не убирать. Для вашего сайта урона не будет, и мне будет приятно. Если вы удалите ссылку, я не смогу помочь вам в настройке и установке скрипта.

В скрипте комментариев на ajax, реализована поддержка тем, которые можно создавать самому. Администраторская сторона, в которой можно одобрять, удалять комментарии. К тому же скрипт очень удобно подключать с помощью одной строки на PHP. Скрипт имеет гибкие настройки, в которых можно выбирать режим отображения ссылок на личные страницы пользователей (dofollow, nofollow, javascript). Все данные (комментарии) хранятся в базе данных mysql, что говорит о надежности и конфиденциальности. Распространение и использование скрипта бесплатно! Его также можно подключать к блогам на движке wordpress и других. Для большего представления о чем идет речь, посмотрите ниже скриншоты и код применения скрипта.

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

Скрипт ajax комментариев

Это скриншот администраторской стороны скрипта ajax комментариев. Как видите все просто, но достаточно удобно и функционально. Простота и легкость дизайна позволяют следить за комментариями вашего сайта даже с телефона.

Админка системы комментариев

Скрипт комментариев уже установлен и протестирован на сайте yaveterinar.ru. Вот точный адрес: http://yaveterinar.ru/veterinarnaya-galereya/167/171/kastraciya-zherebca-286.htm

Установка скрипта

Розархивируйте файлы в нужную папку, например commentsystem, я создал эту папку в корневой сайта.

Создайте в Базе Данных вашего сайта новую таблицу, с именем: commentsystem (это пример, вы можете создать таблицу с другим названием). Проще все это будет сделать с помощью следующего  mysql запроса:

CREATE TABLE `commentsystem`(

  `id` int(11) NOT NULL auto_increment,

  `parent_id` int(11),

  `url_id` varchar(300) NOT NULL,

  `id_material` varchar(11),

  `name` varchar(60) NOT NULL,

  `url` varchar(60),

  `mail` varchar(60) NOT NULL,

  `text` varchar(500) NOT NULL,

  `date_add` varchar(18) NOT NULL,

  `public` int(1) NOT NULL,

  PRIMARY KEY  (`id`)

) ENGINE=MyISAM AUTO_INCREMENT=0 DEFAULT CHARSET=cp1251 AUTO_INCREMENT=0;

Подключите файл comments.php, с помощью include. Смотрите пример:

<? include_once('commentsystem/comments.php'); ?>

Теперь идем к настройке системы комментариев.

Настройка скрипта

Для настройки, отредактируйте файл config.php, он имеет следующее содержание:

<?php

                $hostname="localhost"; // Имя хоста

                $login="root"; // Логин для подкл. к серверу баз даных

                $pwd=""; // Пароль для подкл. к серверу баз даных 

                $db_name="db_name"; // Название базы даных

                

                $admin_pass="admin";// Пароль администратора

                $system_path="http://yourdomain.ru/commentsystem/"; // путь к корневой папке комментариев

                $theme_path=$system_path."themes/default/"; // путь к корневой папке темы

                $c_tab="commentsystem"; // таблица с комментариями в БД

                $s_tab="commentsetings"; // таблица с настройками в БД

                $c_max=100; // максимальное количество комментариев

                $url_type="df"; // Режим ссылок на личные сайты, блоги пользователей: df - dofollow (прямая ссылка), nf - nofollow (неиндексируемая ссылка), js - javascript ссылка

                

                // всякие тонкости

                $id_pref="comment-"; // префикс ида на комментарий (comment-1, comment-2 ...) - для совместимости с другими html элементами

                

    //подключение к базе

    $con = @mysql_connect($hostname, $login, $pwd) or die("Error! connect-database");

                mysql_select_db($db_name, $con) or die ("Error! select-database");

?>

Теперь нужно отредактировать немного строк из файла comments.php:

6, 7, 8 строки

include('commentsystem/config.php');

include('commentsystem/lib/includes.php');

include('commentsystem/lang.php');

Если вы делали все по инструкции, то они должны иметь такой вид. Если скрипт установлен в другой папке, то отредактируйте подключение этих файлов.

115 строка - url:"http://yourdomain.ru/commentsystem/get_ajax.php",

Впишите свой путь к файлу get_ajax.php, это необходимо для работы ajax.

Дизайн

Дизайн в большей степени редактируется в файлах папки темы (themes/default). Но все стили и форма добавления формируется в файле comments.php.

Заключение: трудности и поддержка

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

Тестируем, пользуемся и пишем в комментарии. Стоит развивать скрипт далее? 



Дальше: Эффективный копирайтинг, как писать копирайтинг?


Дискуссия по теме   356 Комментариев
Добавить комментарий
ruslan 15.06.2017 ? 20:06
Привет, пытался прикрутить комментарии к себе на сайт, но что-то идёт не так. Выдаёт ошибку "Warning:file(http://commentsystem/themes/default/wait.php):in D:ProgramsOpenServerOpenServerdomainscommentsystemlib emplater.php on line 4" Не подскажите, как пофиксить ?
dawdaw 13.03.2017 ? 17:17
не ну а чё?
sevidi 24.11.2016 ? 18:48
Я ввел фальшивые имя и mail. А заниматься проверкой комментариев, при большом объеме сайта не возможно. Поэтому к комментариям надо допускать пользователей прошедших проверку, т.е они должны пройти регистрацию на сайте. Сегодня это сделать не сложно, интегрируя сайт с социальными сетями.Модернизацию данного скрипта, с учетом сказанного, сделать не сложно.
svd 24.11.2016 ? 18:38
Попробую протестировать у себя.
Василиса 06.10.2016 ? 12:57
Уважаемый автор, а на почту будет ли приходить уведомление о новых комментариях?
Олег 30.01.2016 в 21:05
Спасибо!
Миша 30.12.2015 в 19:01
привет, спасибо нонравилось
Владимир 07.10.2015 в 21:57
Такая ошибка Error! query - show
Имя 29.09.2015 в 16:07
Можно ли редактировать комментарии
Тарас 29.09.2015 в 17:52
Да, можно
Татьяна 16.09.2015 в 16:04
я ужас как замучалась с этой кодировкой!! Я пробовала ставить обе версии. особой разницы не заметила. везде либо закорючки либо вопросы. у названия самой БД написано рядом utf8_general_ci открываю базу - у названия таблиц написано cp1251_general_ci Потом (интересно) написано "Всего 10 таблиц - utf8_general_ci В дримвивере у меня windows-1251. оооох! Не знаю что делать. Я все эти страницы вручную во всякие разные кодировки переделываю. не получается никак. а если в дримвивере сделаю страницы utf-8, то на сайте у меня будут квадратики вместо букв. Причем когда сайт писала, нигде в кодировку вообще не лазила и ничего не меняла. Читала почти все комменты под статьей, вроде похожей проблемы ни у кого не было. Я не пойму, на какой кодировке нужно остановиться. Вроде надо win-1251? а везде вылазит utf-8...(((((
татьяна 15.09.2015 в 15:12
здравствуйте. Есть проблема. все комментарии выводятся вопросительными знаками. сайт http://www.evorobyov.ru/faq/ помогите пожалуйта.
Тарас 16.09.2015 в 15:47
Скорее всего проблема в кодировке, вверху есть ссылка на утф 8 и другая кодировка, или проверьте какая из кодировок указана в базе данных
Анатолий 30.06.2015 в 21:53
Здравствуйте, идет запись в БД но parent_id всегда 0, а id_material всегда пустой. адрес сайта: zernovik.kz
Valerii 04.06.2015 в 23:17
народ, ау, кто-нибудь поможет разобраться?
Valerii 02.06.2015 в 11:21
Дело не в ссылке, я даже не знаю где она находиться, но может что-то не правильно я прописал, хотя проверял несколько раз. Меню комментария могу напрямую вывести отдельно, а вот это выражение <? include_once('commentsystem/comments.php'); ?> не работает, ошибка такая Fatal error:Call to undefined function get_label() in /home/gidmaste/gidmaster.info/www/commentsystem/comments.php on line 9
Valerii 02.06.2015 в 12:10
Хотя у меня путь похоже другой вот так <? include_once('../commentsystem/comments.php'); ?> но теперь вообще ничего не отображает, где еще менять пути? в comments.php я сделал так include('../commentsystem/config.php'); include('../commentsystem/lib/includes.php'); include('../commentsystem/lang.php'); а в этом файле как? get_ajax.php или еще где-то нужно менять?
Valerii 01.06.2015 в 20:35
У меня такая вот ошибка после установки Fatal error:Call to undefined function get_label() in /home/gidmaste/gidmaster.info/www/commentsystem/comments.php on line 9 Что дальше не понимаю. В PHP не силен. За ответы спасибо.
Тарас 02.06.2015 в 00:21
Такая ошибка происходит по той причине, что Вы хотели убрать ссылку на этот сайт.
Артем 01.06.2015 в 19:26
Не проще послать запрос на сервер, получить ответ, мол данные в базе и вывести - сообщение отправлено! Ну как здесь примерно.
Тарас 02.06.2015 в 00:24
По идее так и есть. После успешного добавления комментария должен приходить ответ обратно! Хотя честно говоря, советую переписать скрипт, или попробовать написать на jquery. Будет намного быстрее и проще реализовать.
Артем 31.05.2015 в 17:37
Здравствуйте! Посте отправки идет запись в базу, страница НЕ перезагружается и не подгружает aJax сообщение. Как это победить? Спасибо!
Тарас 01.06.2015 в 18:49
В этом скрипте и не должна перезагружаться страница. Победить можно с помощью JS. После успешной валидации, взять все значения полей, потом клонировать или создать отдельный html узел комментария и поместить у него значения.
Игорь 19.01.2015 в 14:12
пишет Error! query - show вместо формы комментов, все что было описано по исправлению не помогло http://www.atlasokon.com.ua/actual.html
андрей 25.12.2014 в 15:50
Нашел проблему...)оказывается у меня на странице есть контейнер с id="text", вот скрипт с ним и конфликтовал..), сейчас всё работает, спасибо за скрипт!!!)
андрей 25.12.2014 в 13:06
добрый день, что то не хочет работать у меня скрипт, сообщения сохраняются в базу как undefined, хотя дата, веб-сайт, и емайл сохраняются и выводятся нормально, в чем может быть проблема?
Лариса 24.11.2014 в 15:13
Скажите, пожалуйста, почему после загрузки файла install.php появляется текст иероглифами вот в таком виде: "аЁаИб
Лариса 24.11.2014 в 15:12
Скажите, пожалуйста, почему после загрузки файла install.php появляется текст иероглифами вот в таком виде: "аЁаИб
Вика 08.10.2014 в 15:00
А где подключать нужно вот это? Куда прописывать? Подключите файл comments.php, с помощью include. Смотрите пример: <? include_once('commentsystem/comments.php'); ?>
irina 19.08.2014 в 17:03
Подскажите, как добавить эту форму комментариев на доску объявлений. У меня всё получилось, форма работает. Но проблема в том , что на одной странице выводится несколько объявлений, то есть урл у всех одинаковый. А хотелось бы, чтобы была возможность к каждому конкретному объявлению, можно было добавлять свои комментарии.
andrey 17.08.2014 в 13:23
мелкие ошибки убрал осталось ----------------------------- Не пишите пустых фраз! ";$res_ok='Комментарий добавлен и ожидает проверки!';$res_err='Заполните правильно поля ввода!';$wait_good='Данный комментарий ожидает проверки администратора!';?> Fatal error:Call to undefined function get_label() in D:\xampp\htdocs\bs\commentsystem\comments.php on line 9 ----------------------------- get_label() - что это за функция?
andrey 17.08.2014 в 12:48
Куда копать? Warning: ob_start(): function 'comments_compress' not found or invalid function name in D:\xampp\htdocs\bs\commentsystem\comments.php on line 1 Notice: ob_start(): failed to create buffer in D:\xampp\htdocs\bs\commentsystem\comments.php on line 1 Не пишите пустых фраз! "; $res_ok='Комментарий добавлен и ожидает проверки!'; $res_err='Заполните правильно поля ввода!'; $wait_good='Данный комментарий ожидает проверки администратора!'; ?> Fatal error: Call to undefined function get_label() in D:\xampp\htdocs\bs\commentsystem\comments.php on line 9
Вячеслав 27.07.2014 в 17:01
Я хотел бы установить скрипт добавления комментариев на свой сайт, но слабоват знаниями в PHP и MySQL. загрузил и распаковал архив скрипта на хостинг, создал имя БД пароль, прохожу по ссылке ....../install.php появляется форма установки, заполняю её. Почему-то пароль отображается буквами, а e-mail точками, то есть скрыт, хотя должно быть наоборот
Павел 21.07.2014 в 02:27
Здраствуйте, помогите пожалуйста установил скрипт на сайт, но по какойто причине он не работает.Отпишите пожалуйста. почта - pasha.tt@yandex.ru , вконтакте - https://vk.com/deathlik_e , skype - travapoteme881.Буду очень благодарен
Евгений 07.06.2014 в 10:34
Добрый день. Помогите пожалуйста. У меня вместо всей формы одна надпись "Error! query - show". Что нужно делать?
hydojnik 10.03.2014 в 20:29
Здравствуйте! подскажите в чем дело, комментарии не отражаются на страницах сайта, в базу добавляются, url страницы Комментов тоже, а на сайте отображается только форма добавления, сами Комменты не показываются???
hydojnik 12.03.2014 в 15:16
Здравствуйте! Всю голову уже сломал, сделал привязку к ID новости, все равно не выводятся одобренные комментарии. А вот если не заполнены в таблицы графы (url_id или id_material) эти комменты выводятся на всех страницах... Что делать????
Тарас 12.03.2014 в 15:39
Здравствуйте. Дайте ссылку на пример, сайт. За вывод комментариев отвечает parentcomment.php и subcomment.php в папке lib. Может надо заменить строку подключения файла конфигурации include('config.php'); на содержимое настроенного (этого) файла. У некоторых пользователей такое было. Какой тип урл? Если article.php?id=12345, то скрипт не будет работать надо article/id/12345. Лучше всего дайте ссылку на пример...
hydojnik 12.03.2014 в 17:17
Работаю на Денвере, так что ссылкой не получится поделиться.Строка подключения файла конфигурации include('config.php'); на содержимое настроенного файла заменена, страницы имеют вид article/i12345. вСЮ ГОЛОВУ СЛОМАЛ, НИЧЕГО НЕ ПОЛУЧАЕТСЯ. Когда создаешь файл типа file.php в папке commentsystem и вставляешь в него форму для комментов - все работает отлично.....
Евгений 15.04.2014 в 18:48
Не работает почему-то...Кто может скинуть файлы все уже с установленными путями?
Показать более ранние комментарии (316) →
Добавить комментарий
Просмотров: 32350