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

Форум PHP

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

 

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

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

тема: Комментарий
 
 автор: uvajs   (23.07.2010 в 02:59)   письмо автору
 
 

Здравствуйте! реализовал скрипт http://ruseller.com/adds.php?rub=12&id=1670 в качестве комментарий, и все работает нормально только нужно в ручную обновить страницу, чтобы вывести комм. на страницу... подскажите пожалуйста, как вывести комм. не обновляя полностью страницу с помощью AJAX?

  Ответить  
 
 автор: Slo_Nik   (23.07.2010 в 09:52)   письмо автору
 
   для: uvajs   (23.07.2010 в 02:59)
 

Вы реализовали скрипт с формой обратной связи или переделывали под свои нужды исходный код?
Когда Вы скачивали видео уроки вы прочли вот это, цитирую, "Но скажу сразу - урок не для новичков. Если Вы не знакомы с HTML и совсем не ориентируетесь в PHP то Вам будет сложновато. Хотя...попробуйте, может быть и получится." ?
Для начала попробуйте сделать так, что бы была перезагрузка страницы после добавления комментария и не надо было вручную перегружать страницу.

Если Вы хотите использовать AJAX, то Вам надо иметь представление об основах Javascript или фреймворка Jquery.
Вот подходящий форум для подобных вопросов

  Ответить  
 
 автор: Slo_Nik   (23.07.2010 в 15:38)   письмо автору
 
   для: uvajs   (23.07.2010 в 02:59)
 

Ради интереса посмотрел уроки по Вашей ссылки...
Думаю, что понял Вас.
Вы внимательно посмотрите те части уроков, где Попов объясняет, окуда берутся сообщения об ошибках или успешной отправке сообщения, почему они появляются над формой.
И Вы поймёте, почему не появляется комментарий и надо обновлять страницу.

  Ответить  
 
 автор: uvajs   (23.07.2010 в 15:50)   письмо автору
 
   для: Slo_Nik   (23.07.2010 в 15:38)
 

>Вы внимательно посмотрите те части уроков, где Попов объясняет, окуда берутся сообщения об ошибках или успешной отправке сообщения, почему они появляются над формой.
>И Вы поймёте, почему не появляется комментарий и надо обновлять страницу.

Файл comments отвечает за вывод ошибок, т.е. обработчик

<?
// Запрет на кэширование
header("Expires: Mon, 23 May 1995 02:00:00 GTM");
header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GTM");
header("Cache-Control: no-cache, must-revalidate");
header("Pragma: no-cache");
//****

$log =="";
$error="no"//флаг наличия ошибки

require_once 'JsHttpRequest.php';
$JsHttpRequest =& new JsHttpRequest("windows-1251");

//Короткие имена переменных и обрезка пробелов img_title
$comtext trim($_POST['comtext']);
$login trim($_POST['login']);
$id trim($_POST['id']); 



//Проверка наличия введенного текста комментария
if (empty($comtext))
{
    
$log .= "<li>Необходимо указать текст!</li>";
    
$error "yes";
}
//****

//Проверка длины текста комментария
if(strlen($comtext)>9999)
{
    
$log .= "<li>Слишком длинный текст, в вашем распоряжении 9999 символов!</li>";
    
$error "yes";
}
//****    
     
//Проверка на наличие длинных слов
$mas preg_split("/[\s]+/",$comtext);
foreach(
$mas as $index => $val)
{
  if (
strlen($val)>60)
  {
    
$log .= "<li>Слишком длинные слова (более 60 символов) в тексте записи!</li>";
    
$error "yes";
    break;
  }
}
//****
    
    
    
//Экранирование и преобразование опасных символов
if (!get_magic_quotes_gpc())
{
$comtext addslashes($comtext);
$login addslashes($login);
}

$comtext htmlspecialchars($comtext);
$login htmlspecialchars($login);
//****

//Если нет ошибок отправляем email  
if($error=="no")
{
$prov 0;
include(
"block/bd.php");

$date date("Y-m-d");

$result2 mysql_query ("INSERT INTO comments (post,author,text,date) VALUES ('$id','$login','$comtext','$date')",$db);

$emailadmin 'admin@engells.com';//e-mail админа
$mes "Новый комментарий на сайте, текст комм.: $comtext";


$to $emailadmin;
$sub '=?windows-1251?B?'.base64_encode('Новой комментарий на сайте').'?=';
$headers 'From: '.$from.'
'
;
$headers .= 'MIME-Version: 1.0
'
;
$headers .= 'Content-type: text/plain; charset=windows-1251
'
;

mail($to$sub$mes$headers);
//****

$ok ="<p style='font-family:Verdana; font-size:12px; border:2px solid #0c7f00; padding:10px; margin:20px; background-color:#ffffff;'><strong>Спасибо! Ваш комментарий добавлен.</strong></p>";

     
// преобразуем Enter в перенос строки
$comtext=str_replace("\n","<br>\n",$comtext);
//****

//Помещаем результат в массив
$GLOBALS['_RESULT'] = array(
'error' => 'no',
'text' => $comtext,
'ok' => $ok
);
//****
}
else
//если ошибки есть

$log "<p><font color=#cc0000><strong>Ошибка</strong></font></p><ul style='font-family:Verdana; font-size:12px; border:2px solid #cc0000; padding:10px; margin:20px;'>".$log."</ul>";

//Отправляем результат в массив
$GLOBALS['_RESULT'] = array(
'error' => 'yes',      
'er_mess' => $log);
}  
?>



а за вывод ошибок отвечает

<div align='center' id='cerror'></div>


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

  Ответить  
 
 автор: Slo_Nik   (23.07.2010 в 16:13)   письмо автору
 
   для: uvajs   (23.07.2010 в 15:50)
 

Для начала запишите комментарий в базу и сделайте переход на страницу вывода комментариев после записи в базу на PHP.

  Ответить  
 
 автор: uvajs   (23.07.2010 в 18:32)   письмо автору
 
   для: Slo_Nik   (23.07.2010 в 15:38)
 

>Ради интереса посмотрел уроки по Вашей ссылки...
>Думаю, что понял Вас.

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

или нужно еще один блок добавить в файле comm.js?

  Ответить  
 
 автор: Slo_Nik   (24.07.2010 в 00:12)   письмо автору
 
   для: uvajs   (23.07.2010 в 18:32)
 

ну а какие попытки Вы уже предприняли для вывода комментариев?

  Ответить  
 
 автор: uvajs   (24.07.2010 в 00:53)   письмо автору
 
   для: Slo_Nik   (24.07.2010 в 00:12)
 

>ну а какие попытки Вы уже предприняли для вывода комментариев?

я прописал код в обработчике для вывод комм. и потом вывести на страницу через
<div align='center' id='cerror'></div>


другие идеи пока в голову не приходят...

  Ответить  
 
 автор: uvajs   (24.07.2010 в 19:15)   письмо автору
 
   для: uvajs   (24.07.2010 в 00:53)
 

Спасибо Slo_Nik получилось!!!

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

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