Комментарии для сайта

ГлавнаяJava скрипты → Простой скрипт комментариев

Вашему вниманию предлагаю довольно простой скрипт на основе Ajax с поддержкой базы данных MySQL - комментарии для сайта. Работу скрипта можете посмотреть в самом низу страницы. Скрипт "Комментарии для сайта" работает на всех современных браузерах, а так же на .php и .html страницах с незначительными отличиями. На .php страницах комментрарии добавляются сразу без перезагрузки, а в .html только после обнавления страницы, что особо не является недостатком. Не забудьте учесть тот факт - если вы используете .html, то ваш хостинг обязательно должен поддерживать язык программирования php.

Этот скрипт "Комментарии для сайта" хорошо защищён от пагубного воздействия на базу данных (есть такие "умники"), т.е. любые html-коды (ссылки, скрипты различные, вирусы и т.д.) преобразуются для MySQL в сущности, а при выводе на страницу - наоборот, всё то, что написал пользователь.

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

Как сделать комментарии на сайте

Как сделать и установить комментарии на сайте? Все файлы из скачанного архива (ссылки ниже) вы закачиваете к сабе на сервер в главную директорию при условии, что вывод комментариев будет осуществляться на страницах, находящихся в этой директории (где главная страница). В противном случае эти файлы кидаете в те папки, на страницах которых вы хотите разместить комментарии.

MySQL

Начнём с базы данных: в своей Базе Данных MySQL создаём новую базу с логином от неё и паролем (обязательно записываем эти данные). Затем в созданной базе делаем таблицу. Подробнее: у себя на хостинге заходим в php MyAdmin и нажимаем на созданную базу, она у нас пока пустая (без таблиц). После вверху жмём на SQL и в текстовое поле вставляем следующий код и нажимаете на OK.

Код таблицы для базы SQL


CREATE TABLE  `имя_базы_данных`.`messages` (
`id` INT( 3 ) NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`author` VARCHAR( 30 ) NOT NULL ,
`message` TEXT NOT NULL ,
`date` VARCHAR( 25 ) NOT NULL
) ENGINE = MYISAM CHARACTER SET cp1251 COLLATE cp1251_general_ci;

Где `имя_базы_данных` - прописываете свою базу, а `messages` - это название текущей таблицы.

connect.php

Теперь перейдём к этому файлу для соединения с нашей базой данных. Откройте его в текстовом редакторе и сделайте следующие изменения:
$db = mysql_connect("localhost","user","12345");,
где "localhost" - в большинстве случаев оставляете как есть, "user" - прописываете свой Логин от базы данных, "12345" - пароль.
А в строке mysql_select_db("test",$db); изменяете "test" на имя вашей базы данных.

html - код

И последнее, пропишем необходимые коды на страницу, где будут находиться ваши комментарии. И начнём с самого начала:
1) В самом верху html страницы пропишите для связи с базой данных код php (этот код нужно писать на всех страницах, где будут комментарии, и если на этой странице у вас уже есть соединение с другой базой, то код нужно прописать непосредственно перед кодом для комментарий):
<?php include ('connect.php');?>
2) Между тегами <head> и </head> прописывем этот код стиля для красивого вывода комментариев:


<style>
.comment{
   border:1px solid #666;
   margin:10px;
   padding:10px;
   font-family:Tahoma;
   font-size:12px;
   border-radius:4px;
   box-shadow:2px 2px 2px #999;
}
</style>

3) Так же перед закрывающимся тегом </head> напишем следующий код скрипта.

Код скрипта перед тегом </head>


<script type="text/javascript">
$(function() {
$("#send").click(function(){
  var author = $("#author").val();
  var message = $("#message").val();				
$.ajax({
  type: "POST",
  url: "sendMessage.php",
  data: {"author": author, "message": message},
  cache: false,						
  success: function(response){
  var messageResp = new Array('Ваше сообщение отправлено','Сообщение не отправлено Ошибка базы данных','Нельзя отправлять пустые сообщения');
  var resultStat = messageResp[Number(response)];
  if(response == 0){
$("#author").val("");
$("#message").val("");
$("#commentBlock").append("<div class='comment'>Автор: <strong>"+author+"</strong><br>"+message+"</div>");
  }
$("#resp").text(resultStat).show().delay(1500).fadeOut(800);
  }
  });
  return false;
  });
  });
</script>

4) И последний код: форма отправки и вывода комментариев на сайте. Вставляете его непосредственно в то место страницы, где будут ваши комментарии.

Код формы и вывода комментарий


<div id="commentBlock">
<?php
$result = mysql_query("SELECT * FROM messages",$db);
$comment = mysql_fetch_array($result);
do{
echo "<div class='comment'>Автор: <strong>".$comment['author']."</strong><br>".$comment['message']."</div>";
}while($comment = mysql_fetch_array($result));
?>
</div>
<form action="sendMessage.php" method="post" name="form">
<p>Автор:<br> <input name="author" type="text" id="author"></p>
<p>Текст сообщения:<br>
<textarea name="message" rows="5" cols="50" id="message">
</textarea></p>
<input name="js" type="hidden" value="no" id="js">
<p><input name="button" type="submit" value="Отправить" id="send"> <span id="resp"></span></p>
</form>

И на последок: здесь используется кодировка windows-1251 (кириллица), если у вас стоит другая кодировка, например: utf-8, то вам везде в кодах необходимо её заменить, начиная с самого начала - Базы данных.

Скачать скрипт Комментарии на сайте

Поделись ссылкой с друзьями:

Комментарии к статье

Из-за большого количества - добавление комментариев выключено!

Ольга   09-04-2013 в 19:56:26

Всё работает, здорово! Только в шаблоне не как у вас комментарии. Скажите, как это можно сделать? Спасибо!

admin   09-04-2013 в 23:09:12

Здравствуйте, Ольга!
Всё то же самое, только блок формы добавлен в скрытый текст, и совсем немного изменений в style.css

Антон   12-04-2013 в 01:14:16

Есть более по круче скрипты - там и фотки добавляются, и смайлики, и ответы для каждого комментария. Я именно такой себе и установил.

admin   12-04-2013 в 19:11:05

Да, с этим никто и не спорит!
Я выставляю на показ довольно простые, и самое главное функционирующие скрипты. Это дело вкуса.

meister   26-08-2013 в 11:10:22

Плохо, что капчи нет. Боюсь, что прочая чушь может отправляться.

Admin   26-08-2013 в 23:49:54

По началу да, я мучился сам удалять спамм. А потом сделал закрытую форму (что бы сначала написать, нужно нажать на ссылку "Оставить комментарий") и поставил дополнительную защиту на ввод данных от ссылок - спамм сразу как видите пропал. Ну а при желании, можно и капчу добавить в этот скрипт. Будет свободное время - я постараюсь сделать.

Анатолий   04-09-2013 в 02:46:06

Не могу скачать скрипт Комментарии на сайте

admin   04-09-2013 в 16:35:57

Для Анатолия! Всё проверил - ссылка "Скачать скрипт Комментарии на сайте" рабочая. Единственное что могло быть, так это с хостингом "TurboBit" что-то было на данный момент. А так все ссылки проверяются всегда. И по яснее описывайте пожалуйста проблему.

Вячеслав   28-10-2013 в 11:39:36

Хорошо всё сделано... :)

Юрий   04-11-2013 в 00:43:00

Большое спасибо за вашу очень полезную работу!

Вадим   25-11-2013 в 22:17:38

Цікаво, можна спробувати)))

Алексей   28-11-2013 в 06:21:56

Спасибо вам! Искал именно такой скрипт. Минимум. Навесы какие надо мне , сделаю сам.

Gena   12-12-2013 в 13:09:37

не могу загрузить код таблицы для базы SQL выдает ошибку

bond   24-12-2013 в 15:36:29

Спасибо, хороший скрипт

Анна   15-01-2014 в 12:49:47

скажите, пожалуйста, а этот скрипт можно установить на динамическую страницу вывода статей? в смысле, будет ли к каждой отдельной статье выводиться свой блок с комментами или будет единый для всех?

Ксения   22-01-2014 в 12:05:38

Спасибо, Вы мне очень помогли!

Пахом   07-02-2014 в 22:50:53

Не подскажите, в каких местах именно меняется кодировка? Нашел только где в БД меняется

Admin   10-02-2014 в 11:57:28

Изменить нужно ещё кодировку и на ваших страницах. У меня до этого была кодировка Windows-1251. А теперь всё изменил на UTF-8, и как видите всё работает.

Борис   24-02-2014 в 06:05:12

я редько борис федорович хочу сказать о нынешней власти на украине янукович тряпка кличко со товарищи козлы и западные подстилки обидно за украину

bady   08-03-2014 в 02:50:29

Спасибо большое за информацию скажите на денвере можно проверить работоспособность

Вован   26-02-2014 в 12:35:51

А как сделать чтобы на юкасе работал?

Руслан   08-03-2014 в 15:39:44

сейчас испробуем)

Лёха   04-03-2014 в 01:20:44

Клас

SWAT   08-03-2014 в 21:36:59

Спасибо, очень помог данный урок!!!

Дима   17-03-2014 в 21:55:26

Доброго времени суток!
Подскажите пожалуйста! По поводу комментариев - если пишешь на русском Коментарии с использованием java - при обновлении страницы комментарии на русском исчезают а на английском нет - с чем это может быть связано?

Сергей   01-04-2014 в 15:13:39

Прикольно