Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> wstawianie danych do bazy
huka
post
Post #1





Grupa: Zarejestrowani
Postów: 96
Pomógł: 0
Dołączył: 10.03.2004
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Witam,
mam problem podczas wstawiania danych do tabeli. Chodzi o to że podczas dodawania jakichkolwiek danych do tabeli najpierw wstawia mi jeden pusty rekord a dopiero po wypełnieniu formularza te dane które chcę.
Nie wiem dlaczego tak sie dzieje ale wydaje mi sie że to wstawia te dane już podczas samego wygenerowania skryptu.

Skrypt wygląda tak
  1. <html>
  2. <form name=\"dodaj_odpowiedz\" method=\"post\">
  3. <center><table border=\"0\" width=\"533\" ></center>
  4. <tr>
  5.  <td align=\"left\" width=\"97\">
  6.  <b>Podaj treść odpowiedzi</b></td>
  7.  <td align=\"left\" width=\"422\"><textarea rows=\"3\" name=\"Odpowiedz\" cols=\"50\"></textarea><br><b></b></td>
  8. </tr>
  9. <tr><td align=\"left\" width=\"97\"><b>Czy odpowiedź jest poprawna:</b></td>
  10. <td align=\"left\"><select size=\"1\" name=\"Dobra_odp\">
  11. <option value=\"1\">TAK</option>
  12. <option value=\"0\">NIE</option>
  13. </select></td>
  14. </tr>
  15. </table> 
  16. <center><table border=\"0\" width=\"533\"><tr>
  17. <b>Pytanie</b></td>
  18.  
  19. <?
  20. $db_name = &#092;"praca\";
  21. $con = mysql_connect(&#092;"localhost\") or die(\"Blad otwarcia bazy\");
  22. $db = mysql_select_db($db_name, $con) or die(&#092;"Otwarcie tabeli\");
  23. $sql = &#092;"SELECT ID_pytania, Tresc_pytania FROM Pytania ORDER BY Tresc_pytania\";
  24. $sql2 = &#092;"insert into Odpowiedzi values('null','$ID_pyt','\".$_POST['Odpowiedz'].\"','$Wynik','\".$_POST['Dobra_odp'].\"')\";
  25. $result = mysql_query($sql, $con) or die(&#092;"Polaczenie z baza nie udalo sie\");
  26. $result2 = mysql_query($sql2, $con) or die(&#092;"Polaczenie z baza nie udalo sie\");
  27. echo &#092;"<select name=ID_pytania>\"; 
  28. while($row = mysql_fetch_array($result)) { 
  29. echo &#092;"<option value=\".$row['ID_pytania'].\">\".$row['Tresc_pytania'].\"n\"; 
  30. } 
  31. ?>
  32.  
  33. </form><p>
  34. <tr><td><center>
  35. <form action=dodaj_odpowiedz.php><input type=\"submit\" value=\"Dodaj\">
  36. <input type=\"reset\" value=\"Wyczyść\"></form>
  37. </tr></td></table>
  38. <center><form action=index.html><input type=submit value=\"Powrót do menu\">
  39. </form></center></form>
  40. </html>


Jak wiecie co należy zmienić ażeby nie wstawiało mi pustego wiersza to napiszcie.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Revan
post
Post #2





Grupa: Zarejestrowani
Postów: 49
Pomógł: 0
Dołączył: 21.03.2004
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


kolega przedemna ma racje ;] ja to robie bez sprawdzania czy pola formularzowe sa puste... tylko formularzem wysylam od razu np do dodaj_odpowiedz.php?akcja=dodajdobazy ... np.

  1. <html>
  2. <form name=\"dodaj_odpowiedz\"  method=\"post\" action=\"dodaj_odpowiedz?akcja=dodajdobazy\">
  3. <center><table border=\"0\" width=\"533\" ></center>
  4. <tr>
  5.    <td align=\"left\" width=\"97\">
  6.    <b>Podaj treść odpowiedzi</b></td>
  7.    <td align=\"left\" width=\"422\"><textarea rows=\"3\" name=\"Odpowiedz\" cols=\"50\"></textarea><br><b></b></td>
  8. </tr>
  9. <tr><td align=\"left\" width=\"97\"><b>Czy odpowiedź jest poprawna:</b></td>
  10. <td align=\"left\"><select size=\"1\" name=\"Dobra_odp\">
  11. <option value=\"1\">TAK</option>
  12. <option value=\"0\">NIE</option>
  13. </select></td>
  14. </tr>
  15. </table> 
  16. <center><table border=\"0\" width=\"533\"><tr>
  17. <b>Pytanie</b></td>
  18. <?
  19. $db_name = &#092;"praca\";
  20. $con = mysql_connect(&#092;"localhost\") or die(\"Blad otwarcia bazy\");
  21. $db = mysql_select_db($db_name, $con) or die(&#092;"Otwarcie tabeli\");
  22. $sql = &#092;"SELECT ID_pytania, Tresc_pytania FROM Pytania ORDER BY Tresc_pytania\";
  23. $result = mysql_query($sql, $con) or die(&#092;"Polaczenie z baza nie udalo sie\");
  24. echo &#092;"<select name=ID_pytania>\"; 
  25. while($row = mysql_fetch_array($result)) { 
  26. echo &#092;"<option value=\".$row['ID_pytania'].\">\".$row['Tresc_pytania'].\"n\"; 
  27. }
  28. ?>
  29. <p>
  30. <tr><td><center>
  31. <input type=\"submit\" value=\"Dodaj\">
  32. <input type=\"reset\" value=\"Wyczyść\"></form>
  33. </tr></td></table>
  34. <center><form action=index.html><input type=submit value=\"Powrót do menu\">
  35. </form></center></form>
  36. </html>
  37. <?
  38. if($akcja == &#092;"dodajdobazy\");
  39. {
  40. $sql2 = &#092;"insert into Odpowiedzi values('null','$ID_pyt','\".$_POST['Odpowiedz'].\"','$Wynik','\".$_POST['Dobra_odp'].\"')\";
  41. $result2 = mysql_query($sql2, $con) or die(&#092;"Polaczenie z baza nie udalo sie\");
  42. }
  43. ?>

po za tym .. strasznie pokreciles z html-em... nie wiem jak ci sie to wyslalo bo skoro otwierasz <form> dajesz w nim selecta i bez submita go konczysz... a potem znowu otwierzasz kolejny <form> i dajesz wtedy submita... dziwne :| ...
i ja bym jeszcze dal jakies zabezpieczenia bo jakis zartownis moze ci dac odp zamiast 1 czy 0, 666... ;]

Ten post edytował Revan 21.07.2004, 21:07:58
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 11.10.2025 - 17:05