Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][MySQL]formularz z listami wyboru - problem z dodawaniem rekordów do bazy, Błąd przy dodawaniu danych.
afgan227
post
Post #1





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 17.02.2014

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


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'];


Go to the top of the page
+Quote Post
Kshyhoo
post
Post #2





Grupa: Opiekunowie
Postów: 3 855
Pomógł: 317
Dołączył: 4.01.2005
Skąd: że




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...
Go to the top of the page
+Quote Post

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: 23.08.2025 - 18:09