Witam. Tworzę rejestracje która posiada 4 kroki chodzi mi o to aby nie można było przejść z pierwszego kroku od razu do 4 aby wypełnić dane formularza... Jedyne co mi przyszło do głowy to sesje lecz wszystko mi się miesza podczas pisania tego skryptu.
Czy ktoś ma jakiś inny pomysł na tą rejestrację?
Pozdrawiam KoPcIu
Kshyhoo
9.05.2009, 11:11:15
Hi. Ostatnio borykałem się z podobnym problemem. Masz tu coś na ząb:
Jeżeli ten formularz za każdym krokiem jest odświeżany (wypełniający go klika dalej, strona sie odświeża a to co wypełnił gdzieś zapisało się u Ciebie w bazie), no to myślę że najlepsze wyjście to sesja właśnie, zapisujesz sobie np. w $_SESSION['sign_step'] krok, na którym jest wypełniający formularz, np. 2, i wtedy jeżeli wejdzie na formularz, wyświetla mu się właśnie ten 2 krok.
Chociaż jeżeli to ma nie być aż tak bardzo pilnowane, kto do którego kroku może wejść, można oprzeć na post (ale wtedy istniałaby możliwość obejścia tego i przejścia do np. 2 kroku, poprzez preparacje formularza który odsyłałby do Twojej strony ze zmienną $_POST['sign_step'] = 2).
KoPcIu
11.05.2009, 11:23:13
Kshyhoo, wykorzystałem Twój kod i działa świetnie
Apocalyptiq, Tak jest odświeżany za każdym krokiem lecz dane są zapisywane jedynie z ostatniego kroku reszta to regulamin informacje i odpowiedzi na pytania
Pozdrawiam i dziękuję za odpowiedzi
okitoki
11.05.2009, 15:42:38
nie ładniej wygląda switch
Kod
switch($_GET['krok']) { case '1': krok1(); break; case '2': krok2(); break; case '3': krok3(); break; case '4': krok4(); break; default: krokdomyslny(); }
Fifi209
11.05.2009, 17:26:19
Nie lepiej tak ajax'a użyć?
Ja bym zrobił tak, diva + onload
Na początku wysyłasz puste żądanie i skrypt odczytuje z php pierwszy krok i pakuje do diva. Potem przy kolejnym kroku przesyłasz żądanie i w php sprawdzasz, który to był krok.