Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Formularz z etapami + $_SESSION
Forum PHP.pl > Forum > Przedszkole
lorenzo
Próbuję zrobić formularz podzielony na odpowiednie etapy. Poszukałem w internecie kilka rozwiązań i te wydały mi się najlepsze. Nie działa mi jednak wyświetlanie ostatecznych wyników pobranych z formularza. Chciałbym je wyświetlić w ostatnim kroku. W późniejszym czasie będę to przesyłał prawdopodobnie do innego pliku, ale to później:) Robiłem już kilkanaście/kilkadziesiąt zmian w kodzie ale efekt był ten sam czyli nic nie wyświetliło. Proszę o naprowadzenie na poprawne rozwiązanie.

  1. <?php
  2.  
  3. switch (strip_tags($_GET['go'])) {
  4. default:
  5. echo 'KONFIGURATOR<br>
  6. ________________________________________ <br><br>
  7. <form name="generator" action="?go=1" method="POST">
  8. <input type="hidden" name="krok" value="1">
  9. <input type="submit" name="dalej" value="Idź dalej"></form>';
  10. break;
  11.  
  12. //////////////////////////////////// KROK 1 ////////////////////////////////////
  13. case '1':
  14. echo 'Krok 1';
  15. echo '<form name="generator" action="?go=2" method="POST">';
  16. echo '________________________________________ <br>';
  17. echo '<input type="radio" name="ssak" value="kot" />kot'.$_SESSION ['zwierze'] = $_POST['ssak']; echo ' <br>';
  18. echo '<input type="radio" name="ssak" value="pies" />pies'.$_SESSION ['zwierze'] = $_POST['ssak']; echo ' <br><br>';
  19. echo '<input type="hidden" name="krok" value="2">
  20. <input type="submit" name="dalej" value="Idź dalej">
  21. </form>';
  22. break;
  23.  
  24. //////////////////////////////////// KROK 2 ////////////////////////////////////
  25. case '2':
  26.  
  27. echo 'Krok 2';
  28. echo '<form name="generator" action="?go=3" method="POST">';
  29. echo '________________________________________ <br>';
  30. echo '<input type="radio" name="owad" value="osa" />osa'.$_SESSION ['owad'] = $_POST['owad'];echo ' <br>';
  31. echo '<input type="radio" name="owad" value="bąk" />bąk'.$_SESSION ['owad'] = $_POST['owad'];echo ' <br><br>';
  32. echo '<input type="hidden" name="krok" value="3">
  33. <input type="submit" name="dalej" value="Idź dalej">
  34. </form>';
  35.  
  36. break;
  37.  
  38. //////////////////////////////////// KROK 3 ////////////////////////////////////
  39. case '3':
  40.  
  41. echo 'Krok 3';
  42. echo '<br>________________________________________ <br>';
  43. echo $_SESSION ['zwierze']."<br>";
  44. echo $_SESSION ['owad']."<br><br>";
  45. echo '<form name="generator" action="?go=4" method="POST">';
  46. echo '<input type="hidden" name="krok" value="4">
  47. <input type="submit" name="dalej" value="Idź dalej">
  48. </form>';
  49.  
  50. break;
  51.  
  52. }
  53.  
  54. ?>
Hpsi
chcesz naprowadzenie smile.gif to proszę
w złych miejscach przypisujesz dane do $_SESSION smile.gif

musisz zapisać dane z pierwszego kroku w drugim kroku
tj
case 2:
$_SESSION['ssak'] = $_POST['ssak'];

w końcu wcześniej nie ma prawa ci przypisać te dane skoro wysłasz dane do drugiego etapu formularza, a próbujesz przypisać dane w pierwszej części.
lorenzo
Problem rozwiązany.
Pięknie dziękuję!
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.