![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 642 Pomógł: 2 Dołączył: 9.03.2006 Ostrzeżenie: (30%) ![]() ![]() |
Witam,
Tworzę wielo stopniowy formularz rejestracyjny. Tzn. krok 1 -> krok 2 itp. Mam problem z przechodzeniem pomiędzy kolejnymi krokami. Wymyśliłem aby to zrobić przy pomocy sesji. W sesji zapisywać będę jaki jest obecnie krok oraz wszelskie inne informacje przesyłane formularzem. Obecnie wyląda to tak: Na początku strony mam
W nagłówku sekcji strony z treścią mam:
Póżniej jest wyśweitlanie treści dla odpowiedniego kroku np.:
Następnie buttony z przechodzeniem pomiędzy stronami:
oraz na końcu kod do buttonów (chwilowo prowizorka):
Cały problem polega na tym, że $_SESSION[krok] jest zawsze równe 0, czyli przechodzenie między następnymi krokami po prostu nie działa. Co źle robię? Ten post edytował Lethys 4.04.2012, 10:34:19 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 590 Pomógł: 185 Dołączył: 19.04.2006 Skąd: Gdańsk Ostrzeżenie: (0%) ![]() ![]() |
Po co sesje? To moim zdaniem komplikowanie prostego zadania...
Formularz rozbijamy na etapy więc powinniśmy wyjść z założenia, że to jeden formularz a nie kilka. Dlatego formularz powinien być cały a na poszczególnych etapach powinniśmy jedynie zmieniać typy inputów z np. text na hidden (tak by były widocznie jedynie inputy dla bieżącego etapu), można to okodować w klasie samego formularza (a numer etapu przekazywać w konstruktorze lub bezpośrednio pobierać go sobie z get/post), jeśli mamy dobry framework nie sprawi nam także problemów walidacja czy filtrowanie każdego etapu. Potem można zabawkę rozbudować o fajne zakładki, przyciski wstecz-naprzód by ewentualnie coś jeszcze poprawić a do przechowywania danych proponuję użyć ciastek. W ten sposób nawet jak komuś zerwie połączenie to będzie mógł odtworzyć ostanie machinacje o ile ciastka się zachowają. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 17.10.2025 - 17:26 |