ГлавнаяСкрипты java и phpКомментарии для сайта

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

комментарий на сайте

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

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

Этот скрипт "Комментарии для сайта" хорошо защищён от пагубного воздействия на базу данных (есть такие "умники"), т.е. любые 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) В самом верху страницы пропишите для связи с базой данных код php (этот код нужно писать на всех страницах, где будут комментарии, и если на этой странице у вас уже есть соединение с другой базой, то код нужно прописать непосредственно перед кодом для комментарий):


<?php include ('connect.php');?>

2) Между тегами <head> и </head> прописывем этот код стиля для красивого вывода комментариев:


<style type="text/css">
.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>


<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) И последний код: форма отправки и вывода комментариев на сайте. Вставляете его непосредственно в то место страницы, где будут ваши комментарии.


<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, то вам везде в кодах необходимо её заменить, начиная с самого начала - Базы данных. Как правильно править кодировку для сайта читайте здесь.

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

Рейтинг: 4.6/5     Оценили: 26

Похожие публикации

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

Александр

User: АлександрЗдравствуйте!
Не работает ваше форма комментариев на HTML странице..

Админ

User: Админ→ Александр
Здравствуйте!
А если я Вам докажу обратное, - Вы признаете, что у Вас простая проблема с головой.
Или Вы просто забыли добавить, что именно у Вас скрипт комментариев не работает, либо что именно у Вас не получается и Вы просите помощи.
Для того, чтобы вывести PHP на HTML страницы (не только комментарии), необходимо соблюдать некоторые правила.

Владимир

User: ВладимирПонял последнее - в коде сайта менять кодировку на windows-1251, или в коде скрипта на utf-8 ?

Админ

User: Админ→ Владимир
В скрипте комментариев используется кодировка windows-1251.
Если ваш сайт написан на той же кодировке, то и менять ничего не нужно!
Если кодировка на сайте utf-8 к примеру, то меняете либо:
1. кодировку скрипта комментариев на utf-8;
2. кодировку сайта на windows-1251

RedWingFM

User: RedWingFMАдмин, спасибо Вам большое за код. А то я себе все глаза промозолил этим проклятым PHP и его формами. Ajax - это то, что надо.
P.S. Пока его учить. А то не быть мне продвинутым web-разработчиком.
P.P.S. Если у кого-то возникнут сложности в написании/подстраивании кода под свои нужды, пишите

Иван

User: ИванПри попытке отправки выдает сообщение "Сообщение не отправлено. Ошибка базы данных"

Админ

User: Админ→ Иван
Ну так и ищите свои ошибки!
Вам же ясно указали где их искать!
Вы где-то явно напутали с указанием LOGIN либо с названием БАЗЫ ДАННЫХ, либо хост у вас не LOCALHOST а другой, либо с путями по отношению к файлу: connect.php
Другого здесь быть не может!
Не торопитесь, и ВНИМАТЕЛЬНО всё перепроверьте и всё получится!