Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] Rejestracja w kilku krokach - jak?
ownede
post
Post #1





Grupa: Zarejestrowani
Postów: 44
Pomógł: 2
Dołączył: 14.03.2009

Ostrzeżenie: (0%)
-----


Cześć,

Chciałbym w swoim skrypcie zrobić rejestrację w kilku krokach - regulamin, informacje, quiz, dane. Nie wiem jak to rozwiązać.
Mógłby ktoś podsunąć jakiś pomysł i ew. jakiś przykładowy kod?
Tak, aby użytkownik nie mógł od razu przejść do wprowadzania danych.

Z góry dzięki,
ownede
Go to the top of the page
+Quote Post
blooregard
post
Post #2


Newsman


Grupa: Moderatorzy
Postów: 2 033
Pomógł: 290
Dołączył: 21.12.2007
Skąd: Łódź




1. Pomiędzy kolejnymi krokami przekazujesz np. zmienne $_POST ze znacznikami, czy poprzednie kroki były juz wypełnione poprawnie, jeśli nie, cofasz usera do pominiętego kroku.
2. To samo, ale z uzyciem zmiennych sesyjnych, co pozwoli na lepszą kontrolę nad całym procesem
Go to the top of the page
+Quote Post
bełdzio
post
Post #3





Grupa: Zarejestrowani
Postów: 690
Pomógł: 81
Dołączył: 6.04.2005
Skąd: Szczecin

Ostrzeżenie: (0%)
-----


i tam i tam (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) po kazdym kroku wrzucasz dane do bazy; dodatkowo musisz miec jakas kolumne informujaca ze sa to dane czastkowe; przy ostatnim kroku zamieniasz wartosc kolumny z danymi czastkowymi i juz (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
ownede
post
Post #4





Grupa: Zarejestrowani
Postów: 44
Pomógł: 2
Dołączył: 14.03.2009

Ostrzeżenie: (0%)
-----


Cytat(blooregard @ 15.03.2009, 11:30:07 ) *
1. Pomiędzy kolejnymi krokami przekazujesz np. zmienne $_POST ze znacznikami, czy poprzednie kroki były juz wypełnione poprawnie, jeśli nie, cofasz usera do pominiętego kroku.

Mm.. Czyli uzyc pola typu hidden, w ktorym bedzie podana wartosc kroku, jesli $_POST['krok'] nie bedzie zgodne z $_GET['krok'] skrypt 'umiera' wyswietlajac informacje o blednym kroku, dobrze rozumuje?
Cytat(blooregard @ 15.03.2009, 11:30:07 ) *
2. To samo, ale z uzyciem zmiennych sesyjnych, co pozwoli na lepszą kontrolę nad całym procesem

Ukhm, na sesjach sie zbytnio nie znam, moglbys troche przyblizyc?

Cytat(bełdzio @ 15.03.2009, 12:07:32 ) *
i tam i tam (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) po kazdym kroku wrzucasz dane do bazy; dodatkowo musisz miec jakas kolumne informujaca ze sa to dane czastkowe; przy ostatnim kroku zamieniasz wartosc kolumny z danymi czastkowymi i juz (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Tylko jak zapisywac, jak wpierw jest regulamin, potem informacje, quiz i dopiero dane konta.
Po IP, czy jak?
Go to the top of the page
+Quote Post
bełdzio
post
Post #5





Grupa: Zarejestrowani
Postów: 690
Pomógł: 81
Dołączył: 6.04.2005
Skąd: Szczecin

Ostrzeżenie: (0%)
-----


najprosciej to po pierwszym zapisie wrzuc do sesji ID wstawionego rekordu, a pozniej go tylko updatuj
Go to the top of the page
+Quote Post
ownede
post
Post #6





Grupa: Zarejestrowani
Postów: 44
Pomógł: 2
Dołączył: 14.03.2009

Ostrzeżenie: (0%)
-----


A mógłby mi ktoś "zaobrazować" jakby to wyglądało na sesjach?

Coś takiego? :
  1. <?
  2.  
  3. if(empty($_SESSION['krok']) || $_SESSION['krok'] == 1) {
  4.   // krok 1 - regulamin
  5.   $_SESSION['krok'] == $_SESSION['krok'] + 1;
  6. } elseif($_SESSION['krok'] == 2) {
  7.   // informacje
  8.   $_SESSION['krok'] == $_SESSION['krok'] + 1;
  9. } elseif($_SESSION['krok'] == 3) {
  10.   // krok 3 - quiz
  11.   $_SESSION['krok'] == $_SESSION['krok'] + 1;
  12. } elseif($_SESSION['krok'] == 4) {
  13.   // krok 4 - wprowadzanie danych
  14.   $_SESSION['krok'] == $_SESSION['krok'] + 1;
  15. }
  16. ?>


Ten post edytował ownede 15.03.2009, 16:20:13
Go to the top of the page
+Quote Post
bełdzio
post
Post #7





Grupa: Zarejestrowani
Postów: 690
Pomógł: 81
Dołączył: 6.04.2005
Skąd: Szczecin

Ostrzeżenie: (0%)
-----


nie :-)
Kod
krok 1
  pokazanie formy 1
krok 2
  zapis przeslanych danych do bazy
  zapisanie w sesji id wstawionego rekordu
  pokazanie formy 2
krok 3
  zapis przeslanych danych do bazy pod ID znajdujace sie w sesji
  pokazanie formy 3

etc

Ten post edytował bełdzio 15.03.2009, 16:22:43
Go to the top of the page
+Quote Post
ownede
post
Post #8





Grupa: Zarejestrowani
Postów: 44
Pomógł: 2
Dołączył: 14.03.2009

Ostrzeżenie: (0%)
-----


Cytat(bełdzio @ 15.03.2009, 16:22:15 ) *
nie :-)
Kod
krok 1
  pokazanie formy 1
krok 2
  zapis przeslanych danych do bazy
  zapisanie w sesji id wstawionego rekordu
  pokazanie formy 2
krok 3
  zapis przeslanych danych do bazy pod ID znajdujace sie w sesji
  pokazanie formy 3

etc

Mm, a bez użycia baz danych mój sposób da radę?
Go to the top of the page
+Quote Post
bełdzio
post
Post #9





Grupa: Zarejestrowani
Postów: 690
Pomógł: 81
Dołączył: 6.04.2005
Skąd: Szczecin

Ostrzeżenie: (0%)
-----


generalnie jak nie chcesz uzywac bazy to nie ma potrzeby korzystania z bazy, wez tylko pod uwage 2 rzeczy: 1. i tak bedziesz na koncu procesu zapisywal dane do bazy 2. i tak musisz gdzies przechowywac dane pomiedzy kolejnymi krokami, tak wiec sposob opisany przeze mnie bedzie tu zdecydowanie lepszy
Go to the top of the page
+Quote Post
Spawnm
post
Post #10





Grupa: Moderatorzy
Postów: 4 069
Pomógł: 497
Dołączył: 11.05.2007
Skąd: Warszawa




zawsze można te dane zamiast do bazy dać do sesji , ale baza chyba najlepsza, choć trzeba uwzględnić że jak ktoś w połowie zrezygnuje to trzeba po nim posprzątać w bazie (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 17.09.2025 - 15:31