Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Zapis danych z formularza do bazy mysql
Forum PHP.pl > Forum > Przedszkole
gregov0
jak powinien poprawnie wyglaadac taki zapis bo ten mi nie dziala? Zaden bład sie nie wyswietla poprostu nie dodaje danych do bazy.
  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. $add = mysql_query("INSERT INTO quiz(pyt, odpa, odpb, odpc, odpd,odppraw) VALUES('$pyt', '$odpa', '$odpb','$odpc','$odpd','$odppraw')");
  12.  
  13.  
  14. if ($sql) {
  15. echo '<p>Dodano do bazy</p>';
  16. } else {
  17. echo mysql_error(); echo '<p>Błąd! Spróbuj ponownie</p>';
  18. }
  19. } else {
  20. ?>
  21. <!-- kod formularza-->
  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">Odpowiedź d:&nbsp;</td>
  42. <td><textarea name="odpd" rows=5 cols=30 warp=phisical></textarea></td>
  43. </tr>
  44. <tr>
  45. <td align="right">Poprawna odpowiedĽ to:&nbsp;</td>
  46. <td><input type="text" name="odppraw">&nbsp;- tu wpisz a,b,c lub d</td>
  47. </tr>
  48. <tr>
  49. <td colspan="2" align="right">
  50.  
  51. </tr>
  52. </table>
  53. </form>
  54. <input type="submit" name="submit" value="Zapisz" /></td>
  55. <?php
  56. }
  57. ?>
  58.  
Daiquiri
Co znaczy nie ma błędu? Jaką wartość ma zmienna $sql (czy nie pomyliłeś jej z $add)?
gregov0
Cytat(Daiquiri @ 31.01.2011, 19:56:00 ) *
Co znaczy nie ma błędu? Jaką wartość ma zmienna $sql (czy nie pomyliłeś jej z $add)?

faktycznie powinno byc $add ale po mimo zmiany i tak nic sie nie dzieje ani zadnego błędu anie nie dodaje do bazy. jestem poczatkujacy i nie wiem dlaczego tak sie dzieje
Daiquiri
OK, czyli warunek nie jest spełniony i widzisz tekst "Błąd! Spróbuj ponownie" ?
gregov0
wlasnie nic sie nie dzieje po kliknieciu w przycisk zostaje wypelniony formularz
Daiquiri
Sprawdź czy ten if(isset($_POST["submit"])) warunek jest spełniony smile.gif. No i dlaczego buton jest poza formularzem?
gregov0
Cytat(Daiquiri @ 31.01.2011, 20:16:49 ) *
Sprawdź czy ten if(isset($_POST["submit"])) warunek jest spełniony smile.gif. No i dlaczego buton jest poza formularzem?

jam mam to zrobic
Daiquiri
Przede wszystkim dołącz przycisk do formularza. Jak sprawdzić... Jeżeli po warunku dasz echo "Ala ma kota"; to:
- zobaczysz "Ala ma kota" jeżeli warunek zostanie spełniony,
- nie zobaczysz "Ala ma kota" jeżeli warunek nie zostanie spełniony,

Zawsze możesz też sprawdzać jaką wartość ma zmienna $_POST['submit']. Jeżeli będzie miała wartość "Zapisz" to warunek się spełni.
gregov0
po przeniesieniu submita do folmularza dostaje bład
Warning: mysql_connect() [function.mysql-connect]: Access denied for user 'ODBC'@'localhost' (using password: NO)
nie rozumiem dlaczego w baza.php mam
  1. <?
  2. $mysql_host = "localhost";
  3. $mysql_user = "root";
  4. $mysql_haslo = "";
  5. $mysql_baza = "uzytkownicy";
  6. ?>

wiec w czym lezy bład?

problem rozwiązany zrobilem troche inaczej i dziala
tak dla potomnych
  1. <?php
  2. if(isset($_POST["submit"])) {
  3. include ("db.php");
  4.  
  5. $pyt = $_POST['pyt'];
  6. $odpa = $_POST['odpa'];
  7. $odpb = $_POST['odpb'];
  8. $odpc = $_POST['odpc'];
  9. $odpc = $_POST['odpd'];
  10. $odppraw = $_POST['odppraw'];
  11. $add = mysql_query("INSERT INTO quiz(pyt, odpa, odpb, odpc, odpd,odppraw) VALUES('$pyt', '$odpa', '$odpb','$odpc','$odpd','$odppraw')");
  12.  
  13.  
  14. if ($add) {
  15. echo '<p>Dodano do bazy</p>';
  16. } else {
  17. echo mysql_error(); echo '<p>Błąd! Spróbuj ponownie</p>';
  18. }
  19. } else {
  20. ?>
  21. <!-- kod formularza-->
  22. <form action="dodpyt.php" method="post">
  23. <table>
  24. <tr>
  25. <td align="right">Pytanie: </td>
  26. <td><textarea name="pyt" rows=5 cols=30 warp=phisical></textarea></td>
  27. </tr>
  28. <tr>
  29. <td align="right">Odpowiedz a: </td>
  30. <td><textarea name="odpa" rows=5 cols=30 warp=phisical></textarea></td>
  31. </tr>
  32. <tr>
  33. <td align="right">Odpowiedz b: </td>
  34. <td><textarea name="odpb" rows=5 cols=30 warp=phisical></textarea></td>
  35. </tr>
  36. <tr>
  37. <td align="right">Odpowiedz c: </td>
  38. <td><textarea name="odpc" rows=5 cols=30 warp=phisical></textarea></td>
  39. </tr>
  40. <tr>
  41. <td align="right">Odpowiedź d: </td>
  42. <td><textarea name="odpd" rows=5 cols=30 warp=phisical></textarea></td>
  43. </tr>
  44. <tr>
  45. <td align="right">Poprawna odpowiedz to: </td>
  46. <td><input type="text" name="odppraw"> - tu wpisz a,b,c lub d</td>
  47. </tr>
  48. <tr>
  49. <td colspan="2" align="right">
  50. <input type="submit" name="submit" value="Zapisz" /></td>
  51. </tr>
  52. </table>
  53. </form>
  54.  
  55. <?php
  56. }
  57. ?>
  58.  

db.php
  1. <?php
  2.  
  3. // dane do połączenia z bazą MySQL
  4. $mysql_host = 'localhost';
  5. $mysql_login = 'root';
  6. $mysql_haslo = '';
  7. $mysql_baza = 'uzytkownicy';
  8.  
  9. // połączenie z bazą danych
  10. $polaczenie = mysql_connect($mysql_host, $mysql_login, $mysql_haslo) or die('Błąd: nie udało się nawiązać połączenia z bazą danych.');
  11.  
  12. // połączenie ze schematem bazy danych
  13. mysql_select_db($mysql_baza) or die('Błąd: nie udało się wybrać schematu bazy danych.');
  14.  
  15. ?>

tylko mam jedno pyt mialem juz jakies ptyania w tej tabeli bo dodalem innym sposobem ale je usunolem i teraz jak dodalem nowe to id zaczyna mi sie od 5 jak spowodowac zeby szło od 1
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.