Добавить комментарии к статическим веб-страницам
Хотите узнать, что читатели думают о вашей статье? Можно установить полную систему управления содержанием, потратить несколько недель на перемещение страниц и добиться того, чтобы система выглядела так, как до сих пор был ваш сайт, или использовать специальный инструмент, который легко установить и работать самостоятельно.
Система комментариев очень проста:
- каждая страница, которая должна быть комментирована, будет иметь сопроводительный файл 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.
- Введите логин (введите что угодно) и добавьте комментарий в форму.
Нажмите кнопку «Добавить комментарий». - Страница загружается, а логин и комментарий вставляются в рамку внизу страницы.
Исходные коды демонстрации:
Комментарии и несколько пользователей
Следующий шаг - поддержка нескольких комментариев разными пользователями. 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;
}
Полный исходный код находится в архиве.
Проблема с добавлением комментариев на веб-страницы
Адамян
Здравствуйте, я нахожу на своем сайте вставку, чтобы позволить читателям оставить сообщение или комментарий. На сайте Script я нашел то, что искал, см.: [url] https://www.iqlevsha.ru/cms/commentaires.php [/url] это работает, но мы не можем оставить ни одного сообщения, пока говорится, что они складываются. Кроме того, отображаемое сообщение каждый раз заменяется следующим. Я безуспешно искал ошибку. Я не программист, так что если кто-то мне поможет! Есть 4 файла для загрузки в формате zipé. Спасибо.
веб-мастер
Здравствуйте В статье на самом деле не сказано так: «Для демонстрации простой комментарий может быть введен плеером и он сохранен в файле demo-comment.xml». Но завтра я выложу в сеть демонстрацию, которая добавляет несколько комментариев. Это в любом случае простой пример, без контроля пользователей, что абсолютно необходимо, это нельзя использовать в производстве.
Адамян
Здравствуйте, спасибо за ответ, я нервничаю. Я прочитал и перечитал и перепробовал все, что там было написано, но, как я говорю, комментарии не остаются в памяти в файле xhtml. Это единственное, что мне нужно сделать для доработки моего сайта, единственное. Мой сервер свободен, и он принимает php, потому что все хорошо работает на php на моем сайте. Если ты любезно смотришь, где проблема, в скрипте или в коде. Большое спасибо. Фил
веб-мастер
Новый сценарий выложен в сеть.
Адамян
Здравствуйте, Приятный, я попробовал прямо сейчас, но есть ошибка, которая отображается qand Я отправляю: Парс ошибается: синтаксическая ошибка, unexpected T_OBJECT_OPERATOR in/mnt/151/sdb/d/1/monsite/commentib.php on line 25 Я нашел забывчивость в файле xhtml и исправил ее, но это не работает и сообщение об ошибке указывает файл lib.php. Тайна?!!! Фил
веб-мастер
Я попробовал хостинг в PHP 4.4.9 и получил то же сообщение об ошибке. Он отлично работает под PHP 5. В случае 5.3. Попробуйте настроить каталог для PHP 5 с помощью .htaccess. Это возможно с большинством жильцов.
Адамян
Хула, я не выиграл, я спрашиваю себя, поэтому говорю вам, что я с нетерпением жду, чтобы это сработало.
Адамян
Я верю, что это никогда не сработает! Я включил бесплатный PHP5, поместив в него .htaccess-файл с PHP 1 и теперь уже нет сообщения об ошибке. Однако комментарии не сохраняются и не отображаются. Я безуспешно пробовал миксы с демо и многопользовательскими файлами. Я думал, что нашел какие-то забвения и неудачно их заполнил. Думаю, проблема в сервере Free. Спасибо за помощь, которая может помочь таким, как я. Фил
веб-мастер
Я слышал, что .htaccess должен быть в формате UTF-8 в Free, чтобы быть учтенным. Звонок на phpinfo (INFO_GENERAL); позволяет проверить версию и работу. Если ничего не отображается, можно также разместить такие точки остановки, как эхо «здесь»; чтобы найти ошибку.