Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [Php][Mysql] Dodaje puste rekordy
Forum PHP.pl > Forum > Przedszkole
mariuszzzzzz
witam,
ostatnio zmienilem swoj formularz i uzupelnilem go o chceckbox. W sumie duzo w nim jest bo az 40 sztuk. Problem polega na tym ze od tamtej pory dodaje mi tez puste rekordy do bazy. Z tym ze w kazdym z tych pustych wpisow daje do pola jakiego chceckbox wartosc 1.
Znacie moze przyczyne?
Fifi209
Jak na moje oko masz jakiś błąd w kodzie. winksmiley.jpg

Może pan łaskawca da html + php + sql ?
mariuszzzzzz
niestety kod jest za dlugi zeby go tutaj dac. nawet jak go skracam to i tak za duzo
potreb
Jak dla ciebie za długi to jest taki cuś jak wklej.org
1. Masz problem
  1. print_r($_POST)

2. Sprawdzaj tablice posta czy nie są puste, jak nie to później skrypt
mariuszzzzzz
hmm dobra pora na pisanie postu winksmiley.jpg

Podaje kod dodajacy do bazy danych dane z formularza:
  1. <?php
  2. if ($_GET['p'] == 'form')
  3. {
  4.  
  5. if (isset($_POST['allergikerwaesche'])) {
  6. if ($_POST[allergikerwaesche] == '1')
  7. {
  8. $q="Insert into `obiekty` SET allergikerwaesche='1'";
  9. $r=mysql_query($q);
  10. }
  11. else{
  12. $q="Insert into `obiekty` SET allergikerwaesche='0'";
  13. $r=mysql_query($q);
  14. }
  15. }
  16.  
  17. if (isset($_POST['zimmerfax'])) {
  18. if ($_POST[zimmerfax] == '1')
  19. {
  20. $q="Insert into `obiekty` SET zimmerfax='1'";
  21. $r=mysql_query($q);
  22. }
  23. else{
  24. $q="Insert into `obiekty` SET zimmerfax='0'";
  25. $r=mysql_query($q);
  26. }
  27. }
  28. if (isset ($kuchnia))
  29. {
  30. $k = 0;
  31. while ($kuch = $_POST['kuchnia'][$k])
  32. {
  33. $wynik=mysql_query("SELECT * FROM `kuchnia` WHERE id='$kuch'");
  34. while ($wiersz = mysql_fetch_array($wynik))
  35. {
  36. $kuchniaadd.='-'.$wiersz['nazwa'].'<br>';
  37. }
  38. $k++;
  39. }
  40. }
  41. if (isset($freetime))
  42. {
  43. $k = 0;
  44. while ($free = $_POST['freetime'][$k])
  45. {
  46. $wynik=mysql_query("SELECT * FROM `freetime` WHERE id='$free'");
  47. while ($wiersz = mysql_fetch_array($wynik))
  48. {
  49. $freetimeadd.='-'.$wiersz['nazwa'].'<br>';
  50. }
  51. $k++;
  52. }
  53. }
  54.  
  55. $q="SELECT * FROM `obiekty` WHERE nazwa='$_POST[nazwa]'";
  56. $r=mysql_query($q);
  57. if (mysql_num_rows($r)>0)
  58. {
  59. echo '<center><b>Ten obiekt juy istnieje!</b></center><br><br>';
  60. }
  61.  
  62. else
  63. {
  64.  
  65. if (($_POST['kraj']!="wybierz")&&($_POST['nazwa']!="")&&($_POST['ul']!="")&&($_POST['kod']!="")&&($_POST['miasto']!="")&&($_POST['email']!=""))
  66. {
  67.  
  68. $cena1=$_POST['cena1'];
  69. $cena2=$_POST['cena2'];
  70. $cena6=$_POST['cena6'];
  71. $cena6=nl2br($cena6);
  72. $opispol=$_POST['opispol'];
  73. $opispol=nl2br($opispol);
  74. $opiseng=$_POST['opiseng'];
  75. $opiseng=nl2br($opiseng);
  76. $opisger=$_POST['opisger'];
  77. $iduzyt=$_POST['iduzyt'];
  78. $opisger=nl2br($opisger);
  79. $data=date("d.m.y|H:i");
  80. $ok='no';
  81. if ($_POST['kat'] == "wybierz")
  82. {
  83. $kat="";
  84. }
  85. else
  86. {
  87. $kat=$_POST['kat'];
  88. }
  89.  
  90.  
  91.  
  92. if ($_POST['woj'] == "wybierz")
  93. { $woj=""; }
  94. else
  95. { $woj=$_POST['woj'];}
  96.  
  97. if ($_POST['pol'] == "wybierz")
  98. {
  99. $pol="";
  100. }
  101. else
  102. {
  103. $pol=$_POST['pol'];
  104. }
  105.  
  106. $q="INSERT INTO `obiekty` (iduzyt,kraj,woj,kat,pol,nazwa,ul,kod,miasto,tel1,tel2,fax,www,email,allergi
    kerwaesche,zimmerfax,kuchnia,freetime,data,cena1,cena2,cena6,opispol,opiseng,opis
    ger,url1,url2,url3,url4,url5,ok) VALUES ('$_POST[iduzyt]','$_POST[kraj]','$woj','$kat','$pol','$_POST[nazwa]','$_POST[ul]','$_POST[kod]','$_POST[miasto]','$_POST[tel1]','$_POST[tel2]','$_POST[fax]','$_POST[www]','$_POST[email]','$_POST[allergikerwaesche]','$_POST[zimmerfax]','$kuchniaadd','$freetimeadd','$data','$cena1','$cena2','$cena6','$opispol','$opiseng','$opisger','$url1','$url2','$url3','$url4','$url5','$ok')"
    ;
  107. $r=mysql_query($q);
  108.  
  109.  
  110. if ($r == TRUE)
  111. {
  112. echo '<div align="center"><table border=1 width="350"><tr><td>Nocleg zosta? dodany. <br>W ciagu 4 dni roboczych zostanie zaakceptowany.</td></tr></table><br><br>';
  113. }
  114. else
  115. {
  116. echo '<center><b>Nocleg nie mo?e zosta? dodany</b></center><br><br>';
  117. }
  118.  
  119. }
  120. else
  121. {
  122. echo '<center><b>Prosze wype?nij nast?puj?ce pola: ';
  123. if ($_POST['kraj']== "wybierz")
  124. { echo 'kraj'; }
  125. if ($_POST['woj']== "wybierz")
  126. { echo ', Województwo'; }
  127. if ($_POST['nazwa']== "")
  128. { echo ', Nazwa noclegu'; }
  129. if ($_POST['ul']== "")
  130. { echo ', ulica i numer domu'; }
  131. if ($_POST['kod']== "")
  132. { echo ', kod pocztowy'; }
  133. if ($_POST['miasto']== "")
  134. { echo ', Miasto'; }
  135. if ($_POST['tel1']== "")
  136. { echo ', Telefon 1'; }
  137. if ($_POST['email']== "")
  138. { echo ', Email'; }
  139.  
  140. echo' !</b></center><br><br>';
  141. }
  142. }
  143. echo '';
  144. }
  145. else
  146. {
  147.  
  148. if (!isset($p))
  149. {
  150. ?>
  151.  
emp
Do jakiej tabeli lub tabel w bazie danych zostają dodane puste wiersze ?
Ile jest tych pustych wierszy dodanych za każdym razem ?
Kiedy dodawane są puste wiersze to jaką operacje wykonuje użytkownik w skrypcie ?

Może w zmiennej którą sprawdzasz masz biały znak więc skorzystaj wcześniej z trim() zanim sprawdzisz czy jest empty lub ustawiona.
Może wychodzisz poza zakres pętli.
Może twoje posty są puste.

Porób sobie echa i po wyświetlaj dane, co się z nimi dzieje ograniczając obszar aż do momentu gdzie znajduje się błąd lub skorzystaj z debugera i przejrzyj instrukcja po instrukcji co się dzieje w twoim kodzie.
mariuszzzzzz
Cytat(emp @ 3.11.2009, 15:06:43 ) *
Do jakiej tabeli lub tabel w bazie danych zostają dodane puste wiersze ?
Ile jest tych pustych wierszy dodanych za każdym razem ?
Kiedy dodawane są puste wiersze to jaką operacje wykonuje użytkownik w skrypcie ?


do tabeli "obiekty"
ile pustych wierszy? to zalezy ile zostanie zaznaczonych checbox czym wiecej zaznacze tym wiecej pustych wierszy dodaje do bazy. Ale zauwazylem ze w tych pustych wierszach w niekorych feld z wartosciami z checkbox (0 albo 1) wystepuje wartosc 1 zamiast standardowego 0.
Zrobilem taki test i stwierdzilem ze dodaje puste rekordy tylko wtedy gdy uzytkownik zaznaczy minimum jeden checkbox.
Blame
A zrób echa wszystkich zmiennych, które są przekazywane do bazy i powiedz nam co wyszło.
@fifi209 Zawsze wydawało mi się że masz jakiegoś dzika w avatarze a to kot jest tongue.gif
mariuszzzzzz
dodalem do skryptu zeby mi wyswietlilo wszystkie bledy i oto co pokazal:
  1. Notice: Use of undefined constant allergikerwaesche - assumed 'allergikerwaesche' in /home/myunter/domains/infonocleg.com/public_html/membe/myaccount.php on line 58
  2.  
  3. Notice: Use of undefined constant wasser - assumed 'wasser' in /home/myunter/domains/infonocleg.com/public_html/membe/myaccount.php on line 130
  4.  
  5. Notice: Use of undefined constant handtuecherbett - assumed 'handtuecherbett' in /home/myunter/domains/infonocleg.com/public_html/membe/myaccount.php on line 286
  6.  
  7. Notice: Undefined variable: freetimeadd in /home/myunter/domains/infonocleg.com/public_html/membe/myaccount.php on line 548
  8.  
  9. Notice: Undefined offset: 2 in /home/myunter/domains/infonocleg.com/public_html/membe/myaccount.php on line 543
  10.  
  11. Notice: Undefined index: zimmerfax in /home/myunter/domains/infonocleg.com/public_html/membe/myaccount.php on line 728
  12.  
  13. Notice: Undefined index: haartrock in /home/myunter/domains/infonocleg.com/public_html/membe/myaccount.php on line 728
  14.  
  15. Notice: Undefined index: internet in /home/myunter/domains/infonocleg.com/public_html/membe/myaccount.php on line 728
  16.  
  17. Notice: Undefined index: klima in /home/myunter/domains/infonocleg.com/public_html/membe/myaccount.php on line 728
  18.  
  19. Notice: Undefined index: kindbett in /home/myunter/domains/infonocleg.com/public_html/membe/myaccount.php on line 728
  20.  
  21. Notice: Undefined index: minibar in /home/myunter/domains/infonocleg.com/public_html/membe/myaccount.php on line 728
  22.  
  23. Notice: Undefined index: nichtraucher in /home/myunter/domains/infonocleg.com/public_html/membe/myaccount.php on line 728
  24.  
  25. Notice: Undefined index: radio in /home/myunter/domains/infonocleg.com/public_html/membe/myaccount.php on line 728
  26.  
  27. Notice: Undefined index: telefonzimmer in /home/myunter/domains/infonocleg.com/public_html/membe/myaccount.php on line 728
  28.  
  29. Notice: Undefined index: telefonbad in /home/myunter/domains/infonocleg.com/public_html/membe/myaccount.php on line 728
  30.  
  31. Notice: Undefined index: tv in /home/myunter/domains/infonocleg.com/public_html/membe/myaccount.php on line 728
  32.  
  33. Notice: Undefined index: spielkonsole in /home/myunter/domains/infonocleg.com/public_html/membe/myaccount.php on line 728
  34.  
  35. Notice: Undefined index: zimmerbalkon in /home/myunter/domains/infonocleg.com/public_html/membe/myaccount.php on line 728
  36.  
  37. Notice: Undefined index: zimmerbad in /home/myunter/domains/infonocleg.com/public_html/membe/myaccount.php on line 728
  38.  
  39. Notice: Undefined index: zimmerdusche in /home/myunter/domains/infonocleg.com/public_html/membe/myaccount.php on line 728
  40.  
  41. Notice: Undefined index: zimmerreinig in /home/myunter/domains/infonocleg.com/public_html/membe/myaccount.php on line 728
  42.  
  43. Notice: Undefined index: zimmersafe in /home/myunter/domains/infonocleg.com/public_html/membe/myaccount.php on line 728
  44.  
  45. Notice: Undefined index: aufzug in /home/myunter/domains/infonocleg.com/public_html/membe/myaccount.php on line 728
  46.  
  47. Notice: Undefined index: kindbetreuung in /home/myunter/domains/infonocleg.com/public_html/membe/myaccount.php on line 728
  48.  
  49. Notice: Undefined index: bar in /home/myunter/domains/infonocleg.com/public_html/membe/myaccount.php on line 728
  50.  
  51. Notice: Undefined index: bilard in /home/myunter/domains/infonocleg.com/public_html/membe/myaccount.php on line 728
  52.  
  53. Notice: Undefined index: fitness in /home/myunter/domains/infonocleg.com/public_html/membe/myaccount.php on line 728
  54.  
  55. Notice: Undefined index: geldwechsel in /home/myunter/domains/infonocleg.com/public_html/membe/myaccount.php on line 728
  56.  
  57. Notice: Undefined index: grill in /home/myunter/domains/infonocleg.com/public_html/membe/myaccount.php on line 728
  58.  
  59. Notice: Undefined index: hochzeit in /home/myunter/domains/infonocleg.com/public_html/membe/myaccount.php on line 728
  60.  
  61. Notice: Undefined index: tiereok in /home/myunter/domains/infonocleg.com/public_html/membe/myaccount.php on line 728
  62.  
  63. Notice: Undefined index: tierenein in /home/myunter/domains/infonocleg.com/public_html/membe/myaccount.php on line 728
  64.  
  65. Notice: Undefined index: kindanim in /home/myunter/domains/infonocleg.com/public_html/membe/myaccount.php on line 728
  66.  
  67. Notice: Undefined index: konferenz in /home/myunter/domains/infonocleg.com/public_html/membe/myaccount.php on line 728
  68.  
  69. Notice: Undefined index: parking in /home/myunter/domains/infonocleg.com/public_html/membe/myaccount.php on line 728
  70.  
  71. Notice: Undefined index: sauna in /home/myunter/domains/infonocleg.com/public_html/membe/myaccount.php on line 728
  72.  
  73. Notice: Undefined index: solarium in /home/myunter/domains/infonocleg.com/public_html/membe/myaccount.php on line 728
  74.  
  75. Notice: Undefined index: spielplatz in /home/myunter/domains/infonocleg.com/public_html/membe/myaccount.php on line 728
  76.  
  77. Notice: Undefined index: sport in /home/myunter/domains/infonocleg.com/public_html/membe/myaccount.php on line 728
  78.  
  79. Notice: Undefined index: wellness in /home/myunter/domains/infonocleg.com/public_html/membe/myaccount.php on line 728
  80.  
  81. Notice: Undefined index: zelt in /home/myunter/domains/infonocleg.com/public_html/membe/myaccount.php on line 728
  82.  
  83. Notice: Undefined variable: kuchniaadd in /home/myunter/domains/infonocleg.com/public_html/membe/myaccount.php on line 728
  84.  
  85. Notice: Undefined variable: wyposazenieadd in /home/myunter/domains/infonocleg.com/public_html/membe/myaccount.php on line 728
  86.  
  87. Notice: Undefined variable: platnoscadd in /home/myunter/domains/infonocleg.com/public_html/membe/myaccount.php on line 728
  88.  
  89. Notice: Undefined variable: jezykiadd in /home/myunter/domains/infonocleg.com/public_html/membe/myaccount.php on line 728
  90.  
  91. Notice: Undefined variable: url1 in /home/myunter/domains/infonocleg.com/public_html/membe/myaccount.php on line 728
  92.  
  93. Notice: Undefined variable: url2 in /home/myunter/domains/infonocleg.com/public_html/membe/myaccount.php on line 728
  94.  
  95. Notice: Undefined variable: url3 in /home/myunter/domains/infonocleg.com/public_html/membe/myaccount.php on line 728
  96.  
  97. Notice: Undefined variable: url4 in /home/myunter/domains/infonocleg.com/public_html/membe/myaccount.php on line 728
  98.  
  99. Notice: Undefined variable: url5 in /home/myunter/domains/infonocleg.com/public_html/membe/myaccount.php on line 728
  100.  
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.