Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MySQL]formularz z listami wyboru - problem z dodawaniem rekordów do bazy
Forum PHP.pl > Forum > Przedszkole
afgan227
Witam

Zacznę może od bazy.
Mam 4 tabele:

-kierowca [ID, Imie, Nazwisko, DataZatrudnienia] Primary key ID
-pilot [ID, Imie, Nazwisko , DataZatrudnienia] Primary key ID
-autokar [ID, Marka, Model , NrRej , LiczbaOsob] Primary key ID
-wycieczki [ID, Autobus, Kierowca, Pilot , Gdzie , Kiedy, DoKiedy] Primary key ID

Dodatkowo powiazałem kluczami [klucz obcy - klucz główny]

-wycieczki.Autobus z autokar.ID
-wycieczki.Kierowca z kierowca.ID
-wycieczki.Pilot z pilot.ID

Stworzyłem formę do dodawania wycieczek. Znajdują się w niej 3 listy wyboru i 3 pola tekstowe. Do list wyboru wrzucam dane z bazy danych, które dodałem wcześniej.
Dane są wypisywane w listach tak jak chce. Z tym nie ma problemu.
Niżej daje kod.

  1. <form method="post" action="dodajWycieczke.php">
  2. <label><strong>Dokąd?</strong></label><br />
  3. <input type="text" name="Gdzie" placeholder=" np. Paryz" style="width: 210px"/>
  4. <br /><br />
  5.  
  6. <label><strong>Kiedy</strong></label><br />
  7. <input type="text" name="Kiedy" placeholder="YYYY-MM-DD" style="width: 210px"/>
  8. <br /><br />
  9.  
  10. <label><strong>Do kiedy?</strong></label><br />
  11. <input type="text" name="DoKiedy" placeholder="YYYY-MM-DD" style="width: 210px"/>
  12. <br /><br /><br />
  13.  
  14. <select name="Autokar" style="width: 210px">
  15. <option>Wybierz autokar</option>
  16. <?php
  17.  
  18. $autokary="SELECT Marka, Model,LiczbaOsob FROM `autokar`";
  19. $wynik=mysql_query($autokary);
  20.  
  21. while($row = mysql_fetch_row($wynik))
  22. {
  23. echo '<option value="autokar.ID">'.$row['0'].' '.$row['1'].' / Liczba miejsc:'.$row['2'].'</option>';
  24. }
  25.  
  26. ?>
  27.  
  28. </select>
  29.  
  30. <br /><br /><br />
  31.  
  32. <select name="Kierowca" style="width: 210px">
  33. <option>Wybierz kierowce</option>
  34. <?php
  35. $kierowcy="SELECT Imie, Nazwisko FROM `kierowca`";
  36. $wynik=mysql_query($kierowcy);
  37.  
  38. while($row = mysql_fetch_row($wynik))
  39. {
  40. echo '<option value="kierowca.ID">'.$row['0'].' '.$row['1'].'</option>';
  41. }
  42.  
  43. ?>
  44.  
  45. </select>
  46. <br /><br /><br />
  47.  
  48. <select name="Pilot" style="width: 210px">
  49. <option>Wybierz pilota</option>
  50.  
  51. <?php
  52.  
  53. $piloci="SELECT imie,nazwisko FROM `pilot`";
  54. $wynik=mysql_query($piloci);
  55.  
  56. while($row = mysql_fetch_row($wynik))
  57. {
  58. echo '<option value="pilot.ID">'.$row['0'].' '.$row['1'].'</option>';
  59. }
  60.  
  61. ?>
  62.  
  63. </select>
  64. <br /><br /><br />
  65.  
  66. <input type="submit" value="Dodaj" />
  67. </form>


Plik dodajWycieczke.php

  1. <?php
  2. require 'polaczenie.php';
  3.  
  4. $Gdzie = addslashes($_POST['Gdzie']);
  5. $Kiedy = addslashes($_POST['Kiedy']);
  6. $DoKiedy =addslashes($_POST['DoKiedy']);
  7. $Autokar =$_POST['Autobus'];
  8. $Kierowca =$_POST['Kierowca'];
  9. $Pilot =$_POST['Pilot'];
  10.  
  11.  
  12.  
  13. if( $Autokar && $Kierowca && $Pilot && $Gdzie && $Kiedy && $DoKiedy )
  14. {
  15.  
  16. $ins = @mysql_query("INSERT INTO wycieczki SET Autobus='$Autokar', Kierowca='$Kierowca', Pilot='$Pilot', Gdzie='$Gdzie', Kiedy='$Kiedy', DoKiedy='$DoKiedy'");
  17.  
  18. if($ins)
  19. {
  20. header("Location: wycieczki.php");
  21. mysql_close($polaczenie);
  22.  
  23. }
  24. else
  25. {
  26. echo "Błąd nie udało się dodać nowego rekordu";
  27. }
  28. }
  29.  
  30. else
  31. {
  32. echo"Nie uzupełniłeś danych!";
  33. }
  34.  
  35. ?>



Problem zaczyna się gdy chcę dodać nowy rekord przy użyciu tego formularza. Błąd, który mi się wyświetla sugeruje :

Cytat
Notice: Undefined index: Autobus in C:\xampp\htdocs\Biuro\dodajWycieczke.php on line 7


W 7 linijce znajduje się taki zapis :
Cytat
$Autokar =$_POST['Autobus'];


Kshyhoo
Temat wałkowany 5 razy dziennie. Notice to nie błąd, to komunikat, że zmienna nie została zadeklarowana (zapewne będzie po wysłaniu formularza). Jak zabezpieczyć się przed takim komunikatem? Przeszukać Forum...
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.