Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Kilka formularzy na jednej stronie
Forum PHP.pl > Forum > Przedszkole
martunia
Witam,

Chcę napisać skrypt, który wyświetli na stronie najpierw jeden formularz, po wybraniu pola z tego formularza wyświetli się (na tej samej stronie) kolejny formularz (ale poprzedni już ma nie być wyświetlany) itd., w sumie formularzy ma być 3. Próbowałam zrobić to tak:

  1. <?
  2. if (!isset($_POST['miasto']))
  3. {
  4. echo '<form action="" method="POST">Dostepne miasta:<br>
  5. <select name="miasto">
  6. <option>Warszawa</option>
  7. <option>Wroclaw</option>
  8. </select>
  9.  
  10. <br>
  11. <input type="submit" value="OK">
  12. </form>';
  13.  
  14. }
  15.  
  16. else
  17. {
  18. $miasto=$_POST['miasto'];
  19. if(!isset($_POST['hotel']))
  20. {
  21. echo $miasto.'<br>';
  22.  
  23. echo '<form action="" method="POST">Dostepne hotele:<br>
  24. <select name="hotel">
  25. <option>Hotel1</option>
  26. <option>Hotel2</option>
  27. <option>Hotel3</option>
  28. </select>
  29. <br>
  30. <input type="submit" value="OK">
  31. </form>';
  32. }
  33.  
  34. else
  35. {
  36. echo $_POST['hotel'].'<br>';
  37. echo '<form action="" method="POST">Dostepne opcje:<br>
  38. <select name="opcja">
  39. <option>opcja1</option>
  40. <option>opcja2</option>
  41. </select>
  42. <br>
  43. <input type="submit" value="OK">
  44. </form>';
  45.  
  46. }
  47.  
  48. }
  49. echo '<br>';
  50. echo '<pre>';
  51. print_r($_POST);
  52. echo '</pre>';
  53.  
  54.  
  55. ?>


Niestety, w ten sposób, po wybraniu opcji z drugiego formularza - ponieważ jego "action" odwołuje się do tej samej strony, co poprzedni formularz - skrypt wywołuje się od początku, $_POST['miasteczko'] już nie istnieje i pokazuje się znowu pierwszy formularz. A chciałabym, żeby po przejściu przez wszystkie formularze, zmienne z $_POST odpowiadające kolejnym wyborom były nadal pamiętane. Jak to zrobić?

nospor
1) Albo wyniki kolejnych formularzy masz pamiętać w sesji
2) Albo wyniki kolejnych formularzy masz przekazywać do następnego forma jako pola ukryte. Wówczas każdy kolejny form będzie przekazywał wartości formów poprzednich
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.