Проблем с система за коментари

SkyWarrioR

Registered
Здравейте всички значи направих си една система за коментари работи си перфeкт,но примерно натискам ДОБАВИ то ми добавя съобщението,но като ресна страницата с ctrl+r то ми го добавя пак същия коментар как мога да оправя този проблем ето ви и код ако ви трябва.
Код:
		<form method = "POST" action = "index.php">
			Автор:<br /> 
			<input type="text" name="avtor" />
			<br />
			Съобщение:<br />
			<textarea name="text" cols="15" rows="4"></textarea>
			<br />
			<input type="hidden" name="add" value="1" />
			<input type="submit" value="Добави" />
		</form>
	<?php
		require ('config.php');
			if(isset($_POST['add']) == 1){
			$avtor = addslashes(trim($_POST['avtor']));
			$text = addslashes(trim($_POST['text']));
				if(strlen($avtor) < 5 || strlen($text) > 30 || strlen($text) == NULL){
					echo "<b><i>Трябва да въведете име за автор повече от 5 символа,<br />
					или сте въвели съобщение повече от 30 символа</i></b>";
				}
				else{
					$q = mysql_query("INSERT INTO news (avtor , text) VALUES ('$avtor' , '$text')");
					echo "Успешно добавихте вашето съобщение!";
				}
			}
			$query = mysql_query("SELECT avtor , text FROM news");
			while($row = mysql_fetch_array($query)){
				echo "<table border='1' width='150'>
					<tr><td><i>От: <b>$row[avtor]</b></i></td></tr>
					<td><b>$row[text]<b/></td>
				</table>";
			}
		echo "\n";
	?>
 
Направи си една проверка, ако бутона submit е натиснат да изпълнява кода
Код:
<form method = "POST" action = "index.php">
         Автор:<br />
         <input type="text" name="avtor" />
         <br />
         Съобщение:<br />
         <textarea name="text" cols="15" rows="4"></textarea>
         <br />
         <input type="hidden" name="add" value="1" />
         <input type="submit" name='submit' value="Добави" />
      </form>
   <?php
      require ('config.php');
if(isset($_POST['submit']))
{
         if(isset($_POST['add']) == 1){
         $avtor = addslashes(trim($_POST['avtor']));
         $text = addslashes(trim($_POST['text']));
            if(strlen($avtor) < 5 || strlen($text) > 30 || strlen($text) == NULL){
               echo "<b><i>Трябва да въведете име за автор повече от 5 символа,<br />
               или сте въвели съобщение повече от 30 символа</i></b>";
            }
            else{
               $q = mysql_query("INSERT INTO news (avtor , text) VALUES ('$avtor' , '$text')");
               echo "Успешно добавихте вашето съобщение!";
            }
         }
         $query = mysql_query("SELECT avtor , text FROM news");
         while($row = mysql_fetch_array($query)){
            echo "<table border='1' width='150'>
               <tr><td><i>От: <b>$row[avtor]</b></i></td></tr>
               <td><b>$row[text]<b/></td>
            </table>";
         }
'
}else{
echo 'natisni butona';
}

      echo "\n";
   ?>

или пък изгледай този урок
 
Направи една проверка, дали коментара вече съществува (по съдържанието (блабла)) или просто му сложи едно header ("Location: index.php"); , след като изпълни заявката и добави информацията, за да те redirect към индекса или към самата статия където е коментара. :)

Другото е да направиш една проверка примерно да има ограничение както е в phpBB форумите. "Трябва да изчакате 30 секунди, за да можете отново да коментирате след последното ви мнение.
:?:
 
nom3r1 каза:
Направи една проверка, дали коментара вече съществува (по съдържанието (блабла)) или просто му сложи едно header ("Location: index.php"); , след като изпълни заявката и добави информацията, за да те redirect към индекса или към самата статия където е коментара. :)

Другото е да направиш една проверка примерно да има ограничение както е в phpBB форумите. "Трябва да изчакате 30 секунди, за да можете отново да коментирате след последното ви мнение.
:?:

Значи направих това с пренасочването обаче ми изкарва една грешка Warning: Cannot modify header information - headers already sent by
опитах се по различни начини да я остраня,но не стана ако може да помогнеш и с това ще съм ти много благодарен :)
 

Back
Горе