Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Zapis danych z formularza do bazy mysql
Forum PHP.pl > Forum > PHP
nevar
Jestem raczej początkujący w tym.smile.gif
Jak powinien wyglądać porawnie skrypt, który pobiera tekst z formularza i zapisuje w bazie mysql?

Mój wygląda tak:

  1. <?
  2. include ("baza.php");
  3.  
  4. $pyt = $_POST['pyt'];
  5. $odpa = $_POST['odpa'];
  6. $odpb = $_POST['odpb'];
  7. $odpc = $_POST['odpc'];
  8. $odppraw = $_POST['odppraw'];
  9.  
  10. mysql_connect($mysql_host, $mysql_login, $mysql_haslo);
  11. mysql_select_db($mysql_baza);
  12. $query = mysql_query("INSERT INTO quiz VALUES ('','$pyt', '$odpa', '$odpb','$odpc','$odppraw')");
  13. $result = mysql_query($query);
  14. if (mysql_affected_rows() == 1) {
  15. echo '<p>Dodano do bazy</p>';
  16. }
  17. else
  18. {
  19. echo '<p>Błąd! Spróbuj ponownie</p>';
  20. }
  21.  
  22. <form action="dodpyt.php" method="post">
  23. <table>
  24. <tr>
  25. <td align="right">Pytanie:&nbsp;</td>
  26. <td><textarea name="pyt" rows=5 cols=30 warp=phisical></textarea></td>
  27. </tr>
  28. <tr>
  29. <td align="right">Odpowiedź a:&nbsp;</td>
  30. <td><textarea name="odpa" rows=5 cols=30 warp=phisical></textarea></td>
  31. </tr>
  32. <tr>
  33. <td align="right">Odpowiedź b:&nbsp;</td>
  34. <td><textarea name="odpb" rows=5 cols=30 warp=phisical></textarea></td>
  35. </tr>
  36. <tr>
  37. <td align="right">Odpowiedź c:&nbsp;</td>
  38. <td><textarea name="odpc" rows=5 cols=30 warp=phisical></textarea></td>
  39. </tr>
  40. <tr>
  41. <td align="right">Poprawna odpowiedź to:&nbsp;</td>
  42. <td><input type="text" name="odppraw">&nbsp;- tu wpisz a,b lub c</td>
  43. </tr>
  44. <tr>
  45. <td colspan="2" align="right">
  46. <input type="submit" value="Zapisz" /></td>
  47. </tr>
  48. </table>
  49. </form> ';
  50. ?>


Co powinienem tu zmienić??
huntercs
niepotrzebnie drukujesz kilogramy htmla jeżeli niema tam nic z php, i sprawdzanie czy dodano do bazy też nie najlepsze
ja bym to zrobił tak:
  1. <?
  2. include ("baza.php");
  3.  
  4. mysql_connect($mysql_host, $mysql_login, $mysql_haslo);
  5. mysql_select_db($mysql_baza);
  6.  
  7. $pyt = $_POST['pyt'];
  8. $odpa = $_POST['odpa'];
  9. $odpb = $_POST['odpb'];
  10. $odpc = $_POST['odpc'];
  11. $odppraw = $_POST['odppraw'];
  12.  
  13. $add = mysql_query("INSERT INTO quiz(pyt, odpa, odpb, odpc, odppraw) VALUES('$pyt', '$odpa', '$odpb','$odpc','$odppraw')");
  14. if ($add) echo '<p>Dodano do bazy</p>';
  15. else { echo mysql_error(); echo '<p>Błąd! Spróbuj ponownie</p>'; }
  16. ?>
  17. <form action="dodpyt.php" method="post">
  18. <table>
  19. <tr>
  20. <td align="right">Pytanie:&nbsp;</td>
  21. <td><textarea name="pyt" rows=5 cols=30 warp=phisical></textarea></td>
  22. </tr>
  23. <tr>
  24. <td align="right">Odpowiedź a:&nbsp;</td>
  25. <td><textarea name="odpa" rows=5 cols=30 warp=phisical></textarea></td>
  26. </tr>
  27. <tr>
  28. <td align="right">Odpowiedź b:&nbsp;</td>
  29. <td><textarea name="odpb" rows=5 cols=30 warp=phisical></textarea></td>
  30. </tr>
  31. <tr>
  32. <td align="right">Odpowiedź c:&nbsp;</td>
  33. <td><textarea name="odpc" rows=5 cols=30 warp=phisical></textarea></td>
  34. </tr>
  35. <tr>
  36. <td align="right">Poprawna odpowiedź to:&nbsp;</td>
  37. <td><input type="text" name="odppraw">&nbsp;- tu wpisz a,b lub c</td>
  38. </tr>
  39. <tr>
  40. <td colspan="2" align="right">
  41. <input type="submit" value="Zapisz" /></td>
  42. </tr>
  43. </table>
  44. </form>
revyag
Od razu na starcie dostaniesz warningi o niezainicjalizowanych zmiennych.
Zrób tak:
  1. <?php
  2. if(isset($_POST["submit"])) {
  3. include ("baza.php");
  4. mysql_connect($mysql_host, $mysql_login, $mysql_haslo);
  5. mysql_select_db($mysql_baza);
  6. $pyt = $_POST['pyt'];
  7. $odpa = $_POST['odpa'];
  8. $odpb = $_POST['odpb'];
  9. $odpc = $_POST['odpc'];
  10. $odppraw = $_POST['odppraw'];
  11.  
  12. $add = mysql_query("INSERT INTO quiz(pyt, odpa, odpb, odpc, odppraw) VALUES('$pyt', '$odpa', '$odpb','$odpc','$odppraw')");
  13. if ($add) {
  14. echo '<p>Dodano do bazy</p>';
  15. } else {
  16. echo mysql_error(); echo '<p>Błąd! Spróbuj ponownie</p>';
  17. }
  18. } else {
  19. ?>
  20.  <!--tutaj kod formularza-->
  21.  <input type="submit" name="submit" />
  22. <?php
  23. }
  24. ?>
nevar
Dzięki revyag! Działa jak trzeba!! smile.gif
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.