Препращане при рефреш на страница

akatsuki

Registered
Здравейте! Имам следният проблем. Правя сайт за новини и в новината има коментари. Когато напиша коментар и след това рефрешна страницата, той се добавя още ведъж. Как да оправя това ? Благодаря предварително!
 
Ами в if тага където ти се инсъртва коментара в базата данни сложи това:

Код:
header("Location: comments.php");
 
Код:
 header("Location: read_more.php");

Но е по-добре да си направиш разни проверки за попълнени полета и.т.н защото ако потребителя даде назад е възможно да се получи отново "двойният" ефект.
 
За по сигурно сложи флоод защита.. Да не могат да се пишат повече от 1 коментар в рамките на 10-15 секунди...
 
Така ли трябва да стане:
Код:
   if(isset($_POST['addComment']))
   {
      $post_id = $_POST['post'];
	  $comment = $_POST['comment'];
	  $comment = str_replace(':)', '<img src="imgs/smile.gif" alt="pic" />', $comment);
	  $comment = addslashes(htmlspecialchars($comment));
	  $author = $user->data['username'];
	  $time = date("F j, Y, g:i a");
	  mysql_query("INSERT INTO comments(post_id, comment, author, added) VALUES('$post_id', '$comment', '$author', '$time')") or die (mysql_error());	 
      header("Location: read_more.php");
   }
 
Абе не ми трябва баш флоод защита. Аз съм написал по-нагоре какво искам да направя. Все пак мерси!
 
Направи защита с random цифри и проверявай дали са попълнени и са верни, като при всяко ново зареждане на страницата да са различни.

Можеш да използваш rand()
 
След като добавиш записа преди header() добави това


Код:
unset($_POST['addComment']);
unset($post_id);
unset($comment);

Код:
 if(isset($_POST['addComment']))
   {
      $post_id = $_POST['post'];
     $comment = $_POST['comment'];
     $comment = str_replace(':)', '<img src="imgs/smile.gif" alt="pic" />', $comment);
     $comment = addslashes(htmlspecialchars($comment));
     $author = $user->data['username'];
     $time = date("F j, Y, g:i a");
     mysql_query("INSERT INTO comments(post_id, comment, author, added) VALUES('$post_id', '$comment', '$author', '$time')") or die (mysql_error());  
      unset($_POST['addComment']);
      unset($post_id);
      unset($comment); 

      header("Location: read_more.php");
   }

ето така...
 

Back
Горе