Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MySQL] Podwójne dodawanie rekordu do bazy danych
Forum PHP.pl > Forum > Przedszkole
Age1869
Hej, mam problem. Mianowicie wykonanie skryptu powoduje dodanie dwóch jednakowych rekordów do bazy danych... Nie wiem, jak problem ten rozwiązać:

  1. $connect = mysql_connect("$DatabaseHost","$DatabaseUserName","$DatabasePassword")
  2. or die(Go_Error(mysql_errno()));
  3.  
  4. $db = mysql_select_db($DatabaseName, $connect)
  5. or die(Go_Error(mysql_errno()));
  6.  
  7.  
  8. $haz = mysql_query("SELECT hash FROM koments", $connect);
  9.  
  10. if ('$haz' == '$hash')
  11.  
  12. {
  13.  
  14. echo 'Wpis dodany!';
  15.  
  16. }
  17.  
  18. elseif ($message and $fp)
  19.  
  20. {
  21. $result = mysql_query("INSERT INTO `koments`(`fp`, `message`, `hash`) VALUES('$fp', '$message', '$hash')", $connect)
  22. or die(Go_Error(mysql_errno()));
  23.  
  24. }
  25.  
  26.  
  27.  
  28.  
  29. $zapytanko = mysql_query("SELECT fp, message FROM koments", $connect);
  30. while ($r = mysql_fetch_array($zapytanko))
  31. {
  32. echo $r['fp'] . ' napisał ' . $r['message'] .
  33. '<br />';
  34. }
  35. ?>
  36.  
  37.  
  38. <FORM method="post">
  39. <input type="hidden" id="hash" name="hash" value="<?=generateHash();?>">
  40. <?php
  41. function generateHash()
  42. {
  43. return md5(time() * rand());
  44. }
  45. ?>
  46. <b>Your name:</b><BR><INPUT name="fp" type="text" size="55"><BR>
  47. <b>Your comment:</b><BR><TEXTAREA name="message" rows=10 cols=55 wrap=virtual>
  48. </TEXTAREA><BR>
  49. <INPUT name="submit" type="submit" value="Post your comments">
  50. </FORM>
  51.  
  52. </body>
  53. </html>
nospor
if ('$haz' == '$hash')
ten warunek nigdy nie bedzie prawdziwy.

Powinno byc:
if ($haz == $hash)

Oczywiscie nie wiem czy to rozwiąże Twoj problem z podwojnym wpisem. Pokazuje ci jedynie blad jaki masz smile.gif
Age1869
Dzięki za zwrócenie uwagi. Możesz przy okazji powiedzieć, co zmieniają ' ?

Niestety nic to nie zmienia. Wpis ten chroni jedynie przed odświeżaniem...

Do tego od czasu do czasu wyrzuca mi:
  1. Fatal error: Cannot redeclare generatehash() in /home/.../domains/.../public_html/3.php on line 67
nospor
Cytat
Możesz przy okazji powiedzieć, co zmieniają ' ?

Tu masz o tym bardzo dokładnie opisane
http://pl.php.net/manual/pl/language.types.string.php
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.