if (!$_GET['step']) { <form action="?go=ankieta&step=1" method=post> <input type="radio" name="pytanie_1" value="odp_1">Odpowiedź A</li> <input type="radio" name="pytanie_1" value="odp_2">Odpowiedź B</li> <input type="submit" value="Dalej"> </form>'; } elseif ($_GET['step'] == 1) { echo $_POST['pytanie_1']; echo '<h1>ETAP 1</h1> <form action="?go=ankieta&step=2" method=post> <input type="radio" name="pytanie_2" value="odp_1">Odpowiedź A</li> <input type="radio" name="pytanie_2" value="odp_2">Odpowiedź B</li> <input type="submit" value="Dalej"> </form>'; } elseif ($_GET['step'] == 2) { echo $_POST['pytanie_1']; }
Założenie jest proste: Nie chcę, żeby wszystkie pytania / zestawy pytań pojawiały się od razu, więc w zmiennej $step (przekazywanej metodą $_GET) przechowuję informację o tym, na którym etapie rozwiązywania Quizu jest użytkownik. W zależności od wielkości tej zmiennej pojawiają się różne pytania. Każdy zestaw pytań to formularz, który przekazuje kolejnej stronie wartości typu $_POST['pytanie_1']. Problem polega na tym, że zmienne te widać jedynie na kolejnej stronie. Tzn ostatnie echo w w/w kodzie nic nie wyświetla.
Jak można sprytnie przekazać te zmienne tak, żeby nie znikały do samego końca? Może mój pomysł realizacji quizu w ten sposób jest od samego początku błędny? (co może wynikać z mojej małej póki co wiedzy na temat PHP) Proszę o pomoc!