Добавить комментарии к статическим веб-страницам

Хотите узнать, что читатели думают о вашей статье? Можно установить полную систему управления содержанием, потратить несколько недель на перемещение страниц и добиться того, чтобы система выглядела так, как до сих пор был ваш сайт, или использовать специальный инструмент, который легко установить и работать самостоятельно.

Система комментариев очень проста:
- каждая страница, которая должна быть комментирована, будет иметь сопроводительный файл XML, который будет содержать все комментарии для этой страницы.
- при показе статьи содержимое XML-файла динамически загружается скриптом Ajax, а комментарии отображаются внизу страницы.
- скрипт аутентификации дополнительно используется для хранения логинов, пароля, адресов электронной почты и т. Д. в другом XML-файле.

Для первой демонстрации читатель может ввести простой комментарий и сохранить его в файле demo-comment.xml, затем эта страница загружается, XML-файл загружается скриптом Ajax, а содержимое анализируется и отображается внизу страницы.

Вот код, который сканирует XML-файл методами DOM getElementByTagName () и getElentById ().

function processData(doc)
{ 
  var element = doc.getElementsByTagName('login').item(0);
  document.getElementById("login").innerHTML= element.firstChild.data; 
  document.getElementById("comment").innerHTML= 
doc.getElementsByTagName('comment').item(0).firstChild.data; }

Добавить комментарий на страницу, демонстрация

В реальном приложении сначала запрашиваются логин и пароль, комментарий будет добавлен в XML-файл с предыдущими комментариями, а содержимое этого файла динамически добавляется на веб-страницу при его загрузке. Для каждого комментария создаются рамки.
Полный менеджер для просмотра и удаления комментариев будет доступен позже для завершения работы инструмента.
Шаблон страниц должен включать сценарий JavaScript.

  1. Введите логин (введите что угодно) и добавьте комментарий в форму.
    Нажмите кнопку «Добавить комментарий».
  2. Страница загружается, а логин и комментарий вставляются в рамку внизу страницы.

Демонстрация загрузки

Исходные коды демонстрации:

Комментарии и несколько пользователей

Следующий шаг - поддержка нескольких комментариев разными пользователями. XML-файл для хранения комментариев имеет следующий формат:

<comments>
  <comment login="" post=""/>
  ...
</comments>

При создании файла используются функции объекта DOMDocument PHP 5:

$fname="demo-comment.xml";

$doc = new DOMDocument("1.0", "UTF-8");
$doc->load($fname);
$list=$doc->getElementsByTagName("comments")->item(0);
$comtag= $doc->createElement("comment");
$list->appendChild($comtag);
$comtag->setAttribute("login", $login);
$comtag->setAttribute("post", $comment);

$doc->save($fname);

Файл JavaScript извлекает содержимое для загрузки страницы с помощью функции Ajax и переносит XML-данные в таблицу.

function checkComments(xcontent)
{
  var dnl = xcontent.getElementsByTagName("comment");
  var arr = new Array();
  for(i=0;i< dnl.length;i++)
  {
    var e = dnl.item(i);
    var login = unescape(e.getAttribute("login"));
    var comment = unescape(e.getAttribute("post"));
    arr[i] = new Array(login, comment);
  }
  return arr;
}

Полный исходный код находится в архиве.

Форум

Проблема с добавлением комментариев на веб-страницы

19-12-2011 20:52:12

Адамян

Здравствуйте, я нахожу на своем сайте вставку, чтобы позволить читателям оставить сообщение или комментарий. На сайте Script я нашел то, что искал, см.: [url] https://www.iqlevsha.ru/cms/commentaires.php [/url] это работает, но мы не можем оставить ни одного сообщения, пока говорится, что они складываются. Кроме того, отображаемое сообщение каждый раз заменяется следующим. Я безуспешно искал ошибку. Я не программист, так что если кто-то мне поможет! Есть 4 файла для загрузки в формате zipé. Спасибо.

20-12-2011 20:24:16

веб-мастер

Здравствуйте В статье на самом деле не сказано так: «Для демонстрации простой комментарий может быть введен плеером и он сохранен в файле demo-comment.xml». Но завтра я выложу в сеть демонстрацию, которая добавляет несколько комментариев. Это в любом случае простой пример, без контроля пользователей, что абсолютно необходимо, это нельзя использовать в производстве.

20-12-2011 21:11:11

Адамян

Здравствуйте, спасибо за ответ, я нервничаю. Я прочитал и перечитал и перепробовал все, что там было написано, но, как я говорю, комментарии не остаются в памяти в файле xhtml. Это единственное, что мне нужно сделать для доработки моего сайта, единственное. Мой сервер свободен, и он принимает php, потому что все хорошо работает на php на моем сайте. Если ты любезно смотришь, где проблема, в скрипте или в коде. Большое спасибо. Фил

21-12-2011 10:59:57

веб-мастер

Новый сценарий выложен в сеть.

21-12-2011 16:13:08

Адамян

Здравствуйте, Приятный, я попробовал прямо сейчас, но есть ошибка, которая отображается qand Я отправляю: Парс ошибается: синтаксическая ошибка, unexpected T_OBJECT_OPERATOR in/mnt/151/sdb/d/1/monsite/commentib.php on line 25 Я нашел забывчивость в файле xhtml и исправил ее, но это не работает и сообщение об ошибке указывает файл lib.php. Тайна?!!! Фил

21-12-2011 19:36:49

веб-мастер

Я попробовал хостинг в PHP 4.4.9 и получил то же сообщение об ошибке. Он отлично работает под PHP 5. В случае 5.3. Попробуйте настроить каталог для PHP 5 с помощью .htaccess. Это возможно с большинством жильцов.

21-12-2011 19:39:37

Адамян

Хула, я не выиграл, я спрашиваю себя, поэтому говорю вам, что я с нетерпением жду, чтобы это сработало.

21-12-2011 21:53:25

Адамян

Я верю, что это никогда не сработает! Я включил бесплатный PHP5, поместив в него .htaccess-файл с PHP 1 и теперь уже нет сообщения об ошибке. Однако комментарии не сохраняются и не отображаются. Я безуспешно пробовал миксы с демо и многопользовательскими файлами. Я думал, что нашел какие-то забвения и неудачно их заполнил. Думаю, проблема в сервере Free. Спасибо за помощь, которая может помочь таким, как я. Фил

22-12-2011 17:09:27

веб-мастер

Я слышал, что .htaccess должен быть в формате UTF-8 в Free, чтобы быть учтенным. Звонок на phpinfo (INFO_GENERAL); позволяет проверить версию и работу. Если ничего не отображается, можно также разместить такие точки остановки, как эхо «здесь»; чтобы найти ошибку.