Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: скрипт добавления комментариев
 
 автор: AlexDF   (10.02.2009 в 17:38)   письмо автору
 
 

Доброго времени суток! Помогите пожалуйста кто знает как организовать систему добавления комментариев, например к фото с использованием mysql . Так, чтобы поле с добавлением комментария находилось внизу страницы с коментариями, а при нажатии кнопки "добавить комментарий" текущее положение страницы не изменялось! хотя бы например, как это сделано в том же самом vcontakte.ru

  Ответить  
 
 автор: ddhvvn   (10.02.2009 в 18:19)   письмо автору
 
   для: AlexDF   (10.02.2009 в 17:38)
 

>...Так, чтобы поле с добавлением комментария находилось внизу страницы с коментариями, а при нажатии кнопки "добавить комментарий" текущее положение страницы не изменялось

Думаю, Вам AJAX нужен...

  Ответить  
 
 автор: Slo_Nik   (10.02.2009 в 18:24)   письмо автору
 
   для: AlexDF   (10.02.2009 в 17:38)
 

создаёшь базу или таблицу, если база уже есть, форму добавления комментария и скрипт обработки данных из формы.
в таблице, например, должны быть такие поля:
author;(кто добавил)
date;(когда добавил)
text;(что написал)

в форму, например, должны быть поля:
text;(текст комментария)
остальные можно сделать скрытыми
date;(когда добавил)
author;(кто добавал)

скрипт который будет обрабатывать данные из формы, переданные методом POST
это основное
что бы при нажатии на "добавить комментарий" не обновлялась страница, это можно сделать при помощи javascript(если не ошибаюсь)

  Ответить  
 
 автор: AlexDF   (10.02.2009 в 18:56)   письмо автору
 
   для: Slo_Nik   (10.02.2009 в 18:24)
 

Система добавления комментариев у меня на сайте у меня уже есть. Я именно хотел ее модернизировать! Может кто нибудь знает, где можно взять пример того что я хочу.

  Ответить  
 
 автор: Slo_Nik   (10.02.2009 в 19:13)   письмо автору
 
   для: AlexDF   (10.02.2009 в 18:56)
 

что именно модернизировать?

  Ответить  
 
 автор: Киналь   (11.02.2009 в 14:57)   письмо автору
 
   для: AlexDF   (10.02.2009 в 18:56)
 

См выше - AJAX.

  Ответить  
 
 автор: goodwilll   (11.02.2009 в 15:19)   письмо автору
 
   для: AlexDF   (10.02.2009 в 18:56)
 

AlexDF, нужно чтобы поля из формы попадали не сразу в php обработчик а сначала в js файл с которого уже собственно и отправляются и принимаются асинхронные запросы к php файлу

js файл этот может выглядеть примерно так:

<script type=\"text/javascript\">

var xmlHttp = createXmlHttpRequestObject();
function createXmlHttpRequestObject()
{

var xmlHttp;
if(window.ActiveXObject)
{
      try
      {
      xmlHttp = new ActiveXObject(\"Microsoft.XMLHTTP\");
      }
      catch(e)
      {
      xmlHttp = false;
      }
}

else

{
      try
      {
      xmlHttp = new XMLHttpRequest();
      }
      catch(e)
      {
      xmlHttp = false;
      }  
}

if(!xmlHttp)
     alert(\"Ошибка создания объекта XMLHttpRequest\");
else
     return xmlHttp;

}

function process()
{
 
     if (xmlHttp.readyState == 4 || xmlHttp.readyState == 0)
     {
     f1 = encodeURIComponent(document.getElementById(\"f1\").value);  // значение первого поля формы
     f2 = encodeURIComponent(document.getElementById(\"f2\").value); // значение второго поля формы

      xmlHttp.open(\"GET\", \"ТУТ_ИМЯ_ФАЙЛА_ОБРАБОТЧИКА.php?f1=\"+f1+\"&f2=\"+f2, true);

      xmlHttp.onreadystatechange = handleServerResponse;
      xmlHttp.send(null);
      }

      else

      setTimeout(\"process()\",1000);
}

function handleServerResponse()
{
   
       if(xmlHttp.readyState==4)
       {

             if (xmlHttp.status == 200)
             {
                      message = xmlHttp.responseText;  // ТУТ ОТВЕТ ОТ ОБРАБОТЧИКА В XML ФОРМАТЕ
                    

document.getElementById(\"divMessage\").innerHTML=message; // ВЫВОД РЕЗУЛЬТАТА БЕЗ ПЕРЕЗАГРУЗКИ

            }
     
        else

         {
         alert(\"Проблема связи с сервером\");
          }
     }
}

</script>



впринципе все просто, только не удобно тем, что сам xml потом надо js'ом обрезать

  Ответить  
 
 автор: AlexDF   (14.02.2009 в 14:46)   письмо автору
13.5 Кб
 
   для: goodwilll   (11.02.2009 в 15:19)
 

Спасибо большое всем за вашу помощь, поспрашивал еще и в других форумах в итоге получилось то что я хотел. И для закрытия темы прикрерил готовый скрипт добавления комментариев без обновления страницы.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования