X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

Открыть тему
Тема закрыта
> При обновлении страницы дублируются (удваиваются) комментарии
werd_34
werd_34
Topic Starter сообщение 25.5.2013, 12:52; Ответить: werd_34
Сообщение #1


Здравствуйте, уважаемые форумчане!
Делаю древовидные комментарии. Коментарии то получились (пока без проверок). Но при обновлении страницы комментарии удваиваются и заносятся в базу даннных. Подскажите, как можно исправить. И как прикрутить простенькую капчу?

if(!empty($_POST['uname']) && !empty($_POST['message']) && $_POST['op'] == 'add-comment') {

  $comment = mysql_real_escape_string(strip_tags($_POST['message'], "<p><b><i><font><img>")); // удалим левые теги
  $ip = $_SERVER['REMOTE_ADDR'];
  $client = $_SERVER['HTTP_USER_AGENT'];
  $content_id = intval($_POST['content']);
  $parent_id = intval($_POST['parent']);
  mysql_query("INSERT INTO les_comments (`id`, `name`, `ip`, `client`, `comment`, `content_id`, `parent_id`, `time`) VALUES (NULL, '$uname', '$ip', '$client', '$comment', '$content_id', '$parent_id', '$time')");
}
$content_id = 0;  // это ключевой идентификатор от конкретной статьи
// выводим комменты
$msg = array();
$result = mysql_query("SELECT * FROM les_comments WHERE content_id='$id'");
while($row = mysql_fetch_assoc($result)){
  $msg[] = $row;
}
$count = count($msg);
$parent = 0;
$form = "<div class='editor'>
<form id='comment-form' autocomplete='off' method='post'>
<input type='hidden' name='op' value='add-comment'>
<input type='hidden' name='content' value='{$id}'>
<input type='hidden' name='parent' value='{$parent}'>
<table border='0'><tr><td><input id='uname' name='uname' type='text' value='{$uname}' maxlength='20' size='25' /></td><td>Ваше имя*</td></tr></table>
<textarea name='message' rows='5' cols='65'></textarea><br><input id='submit' name='signup' type='submit' value='Добавить' /></div>
</form>";
$i = 0;
if($count){
  $comments = "<div class='comments-all'><span style='float:left'>Всего вопросов: {$count}</span><span class='add-comment'>Задать вопрос </span></div>".$form;

  $msg = crazysort($msg);
  while($i<$count){
    $margin = $msg[$i]['level'] * 20;
    $date = date("d.m.Y в H:i",$msg[$i]['time']);
    $comments .= "<div id='msg{$msg[$i]['id']}' style='margin-left: {$margin}px'><div class='comment-title'><span style='float:left'><b>{$msg[$i]['name']}</b> <small>({$date})</small></span><span class='comment-ans' id={$msg[$i]['id']}>ответить</span></div><div class='comment-message'>{$msg[$i]['comment']}</div></div>";
    $i++;
  }
}else{
  $comments = "<div class='comments-all'><span style='float:left'>Вопрос ещё не задавали</span><span class='add-comment'>Задать вопрос</span></div>".$form;
}

Пикреплю всю страницу
Прикрепленные файлы
Прикрепленный файл  index.php ( 5,47 килобайт ) Кол-во скачиваний: 89
 
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Гость_0_* Гость_0_*
сообщение 25.5.2013, 14:49; Ответить: Гость_0_*
Сообщение #2


При обновлении данные из POST снова заносятся в базу, потому что они всё ещё есть там. Нужно очищать POST после добавления в базу или редиректить на эту же страницу
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
fedornabilkin
fedornabilkin
сообщение 28.5.2013, 14:40; Ответить: fedornabilkin
Сообщение #3


Как вариант, можно сделать редирект header("Location: $url");
После этого массив очистится

Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Мегамаркет. Скидка 1000 рублей при покупке от 5000 рублей на все, на первый заказ.
Мегамаркет. Скидка 1000 рублей при покупке от 5000 рублей на все, на п
7 stu999 1753 31.3.2024, 11:19
автор: stu999
Горячая тема (нет новых ответов) Как влияют комментарии на продвижение?
81 Megaspryt 12000 2.3.2024, 13:02
автор: toplinks
Открытая тема (нет новых ответов) Нужно ли закрывать ненужные страницы тегом noindex, follow?
8 noviktamw 2905 2.3.2024, 12:53
автор: toplinks
Открытая тема (нет новых ответов) Вытащить страницы из кэша Яндекса
2 VostrVL 1959 11.1.2024, 23:07
автор: ЛаврионСергеевич
Открытая тема (нет новых ответов) SMMBanda.com | Живые просмотры YouTube, TikTok, Instagram, VK, Facebook, Twitter. Лайки, комментарии, подписчики СНГ, Украина, Россия, МИР
Делаем толковый SMM с Гарантией от проблем. Реальные просмотры, посев
15 SMMBanda 7494 8.10.2023, 10:59
автор: SMMBanda


 



RSS Текстовая версия Сейчас: 19.4.2024, 3:34
Дизайн