Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Skrypt dodaje puste pola do bazy danych
Forum PHP.pl > Forum > Przedszkole
-Michall-
Witam
Mam 3 skrypty i każdy w oddzielnym pliku pierwszy to formularz html, drugi to skrypt sprawdzający czy dane zostały wysłane a 3 to skrypt dodający te dane do bazy. Otóż problem polega na tym, że dane wysyłane z formularza nie chcą się zapisywać w bazie danych to znaczy do bazy zapisują się puste pola zamiast wpisanych danych i nie wiem dla czego tak się dzieje, co dziwniejsze zapisywanie działało poprawnie na localhoscie, a przestało działać po przerzuceniu na serwer.

formularz html
  1. <center><h1>Formularz zgłoszeniowy</h1><br />
  2. <table width="64%" border="0" cellspacing="0" cellpadding="0">
  3. <form method=post action="ustawienia.php" onsubmit="if (sprawdz(this)) return true; return false">
  4. <tr>
  5. <td align="right">Imię:</td>
  6. <td> <input type="text" name="imie" size="20" /></td><br /><br />
  7. </tr>
  8. <tr>
  9. <td align="right">Nazwisko:</td>
  10. <td><input type="text" name="nazwisko" size="20" /></td>
  11. <br /><br />
  12. </tr>
  13. <tr>
  14. <td align="right" valign="top">Adres:</td>
  15. <td><textarea cols="35" rows="4" class="input" name="adres"></textarea></td>
  16. <br /><br />
  17. </tr>
  18. <tr>
  19. <td align="right">Telefon kom:</td> <td><input type="text" name="tel_kom" size="20" /></td><br /><br />
  20. </tr>
  21. <tr>
  22. <td align="right">Telefon stacjonarny(opcjonalnie): </td><td><input type="text" name="tel_stac" size="20" /></td><br /><br />
  23. </tr>
  24. <tr>
  25. <td align="right">Numer prawo jazdy:</td> <td><input type="text" name="cyfry1" size=5 maxlength="5" />/<input type="text" name="cyfry2" size=2 maxlength="2"/>/<input type="text" name="cyfry3" size=4 maxlength="4" /></td><br /><br />
  26. </tr>
  27. <tr>
  28. <td align="right">Dodaj datę wydania prawo jazdy</td> <br />
  29. <td>Rok: <select name="rok">
  30. <?php for($i=1900; $i<=2012; $i++){
  31. echo '<option>'.$i.'</option>';
  32. } ?>
  33. </select>
  34. Miesiąc: <select name="miesiac">
  35. <?php for($i=1; $i<=12; $i++){
  36. echo '<option>'.$i.'</option>';
  37. } ?>
  38. </select>
  39. Dzień: <select name="dzien">
  40. <?php for($i=1; $i<=31; $i++){
  41. echo '<option>'.$i.'</option>';
  42. } ?>
  43. </select></td><br /> <br />
  44. </tr>
  45. <tr>
  46. <td align="right">Marka samochodu:</td> <td><input type="text" name="marka" size="20" /></td><br /><br />
  47. </tr>
  48. <tr>
  49. <td align="right">Model:</td> <td><input type="text" name="model" size="20" /></td><br /><br />
  50. </tr>
  51. <tr>
  52. <td align="right">
  53. Rok produkcji:</td> <td><select name="rok_prod">
  54. <?php for($i=1900; $i<=2012; $i++){
  55. echo '<option>'.$i.'</option>';
  56. } ?>
  57. </select></td><br /><br />
  58. </tr>
  59. <tr>
  60. <td align="right">Moc samochodu:</td> <td><input type="text" name="moc" size="4" /></td><br /><br />
  61. </tr>
  62. <tr>
  63. <td align="right">Pojemność silnika:</td> <td><input type="text" name="pojemnosc" size="4" /></td><br /><br />
  64. </tr>
  65. <tr>
  66. <td align="right">Nr rejestracyjny -
  67. Województwo:</td> <td><input type="text" name="woj" size=3 maxlength="3" />
  68. Numer: <input type="text" name="liczby" size=5 maxlength="5" /></td><br /> <br />
  69. </tr>
  70. <tr>
  71. <td align="right">
  72. Klasa:</td> <td><select name="klasa">
  73. <option>diesel</option>
  74. <option>diesel+</option>
  75. <option>mini</option>
  76. <option>street</option>
  77. <option>street+</option>
  78. <option>turbo FWD</option>
  79. <option>turbo RWD/AWD</option>
  80. </select></td> <br /><br />
  81. </tr>
  82. <tr>
  83. <td align="right">Dodać do klasy opne?:</td> <td><select name="open">
  84. <option>Tak</option>
  85. <option>Nie</option>
  86. </select></td>
  87.  
  88. <br /><br /></tr>
  89.  
  90. <br /><tr>
  91. <td colspan="2" align="center"><input type=submit value="Wyślij" name="wyslij" /></td></tr>
  92. </form> <br /><br /> </table>


sprawdzanie.php

  1. if(isset($_POST['wyslij'])){
  2. try
  3. {
  4. if (!wypelniony($_POST))
  5. {
  6. throw new Exception('Formularz wypełniony nieprawidłowo');
  7. }
  8.  
  9. zgloszenie($_SESSION[nick], $imie, $nazwisko, $adres, $tel_kom, $tel_stac, $cyfry1, $cyfry2, $cyfry3, $rok, $miesiac, $dzien, $marka, $model, $rok_prod, $moc, $pojemnosc, $woj, $liczby, $klasa, $open);
  10.  
  11.  
  12. ?>
  13. <h2>Zmień ustawienia konta</h2>
  14. <?php
  15. echo '<a href="formularz_zgloszeniowy.php">Powrót</a>';
  16. ?>
  17.  
  18.  
  19.  
  20. <?php
  21. }
  22.  
  23. catch (Exception $e)
  24. {
  25. $e->getMessage();
  26. ?>


dodaj.php

  1. function zgloszenie($login, $imie1, $nazwisko1, $adres1, $tel_kom1, $tel_stac1, $liczba1, $liczba2, $liczba3, $rok1, $miesiac1, $dzien1, $marka1, $model1, $rok_prod1, $moc1, $pojemnosc1, $wojewodztwo, $numer, $klasa1, $open1)
  2. {
  3. mysql_connect("localhost","root","");
  4. mysql_select_db("administrator");
  5. $numer = $liczba1.'/'.$liczba2.'/'.$liczba3;
  6. $data=$rok1.'-'.$miesiac1.'-'.$dzien1;
  7. $calosc = strtoupper($wojewodztwo).' '.strtoupper($numer);
  8.  
  9. $query = ("insert into formularz(user_login, imie, nazwisko, adres, tel_kom, tel_stac, nr_prawka, data_wydania, marka, model, rok_produkcji, moc, pojemnosc, nr_rejestracyjny, klasa, open) values ('" .$login. "', '" .$imie1. "', '" .$nazwisko1. "', '" .$adres1. "', '" .$tel_kom1. "', '" .$tel_stac1. "', '" .$numer. "', '" .$data. "', '" .$marka1. "', '" .$model1. "', '" .$rok_prod1. "', '" .$moc1. "', '" .$pojemnosc1. "', '" .$calosc. "', '" .$klasa1. "', '" .$open1. "')");
  10. mysql_query($query);
  11. echo $query;
  12. if (!$query)
  13. throw new Exception('Wystąpił błąd podczas wysyłąnia formularza.');
  14. else
  15. return true;
  16. }
Posio
gdzie definiujesz zmienne które podajesz w funkcji ?

dlaczego tak gmatwasz w zapytaniach ? Nie łatwiej, szybciej i estetyczniej napisać tak:


  1. INSERT INTO `xxx` (`login`, `password`) VALUES ('$login', '$password')


i chyba method="POST"

jak dla mnie zdekka bałagan ...
-Michall-
No mam troche bałagan to fakt ale to dla tego, że sie ucze a tu sobie robie różne testy itd, zmiennych nigdzie nie deklaruje, bo na localuhoscie działało bez deklaracji normalnie dodawało do bazy itd a na serwerze już nie wysybuje i jak wziołem sobie

  1. echo $_POST;

to w tablicy są zmienne, natomiast zrobiłem sobie echo wszystkich zmiennych z fukcji czyli tych function zgloszenie($login, $imie1, $nazwisko1, $adres1, $tel_kom1, $tel_stac1, $liczba1, $liczba2, $liczba3, $rok1, $miesiac1, $dzien1, $marka1, $model1, $rok_prod1, $moc1, $pojemnosc1, $wojewodztwo, $numer, $klasa1, $open1) to tylko w zmiennej $login była wartość natomiast reszta była pusta.

Wywołałem sobie jeszcze
  1. echo $query;
to pokazuje że wysłane do bazy zostały puste zmienne.
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.