Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Przetwarzanie formularzy
Forum PHP.pl > Forum > PHP
jacobson
Witam, mam pytanie... otoz chce zrobic na stronie rozbudowany system rejestracji wraz z przypominaniem hasla itp... i teraz chce sie dowiedziec w jaki sposob moge w jednym pliku process rozroznic procesy dla kazdej z podstron register/forgotpass/login itp.
Mialem pewien pomysl zeby np przycisk submit mial np w register name="register" i w process sprawdzac czy istnieje zmienna i jak istnieje to wykonywac kod dla tego ale nie wiem czy to na pewno dziala... bo u mnie wyswietlala sie pusta strona process... czy ktos moze zna jakis lepszy sposob ?
Pozdrawiam
skowron-line
  1. <a href="index.php?proces=login">Login</a>
  2. <a href="index.php?proces=register">Register</a>


  1. switch($_GET['proces'])
  2. {
  3. case 'login':
  4.  
  5. break;
  6. case 'register':
  7.  
  8. break;
  9. }
jacobson
A czemu get a nie post ?
Dalem w formularzu action="process.php?proc=rejestracja" i w pliku process dalem switcha od proc i case rejestracja: i tu caly kod funkcji rejestracji. Jednak mimo wszystko wyswietla mi pusta strone ...

Dzialajacy na 1 rzut oka sposob to byl ten ze stworzylem klase Process, funkcje bedaca konstruktorem w ktorej sprawdzalem czy isset($_POST['rejestracja']). Jezeli isset to wywolaj $this->rejestracja(); i na samym dole $process = new Process;
Ogolnie to dziala tylko w momencie uruchamiania konkretnej strony ale jak np uruchomie sobie strone rejestracja.php i cofne do strony glownej gdzie jest logowanie i sprobuje sie zalogowac to wyswietlaja mi sie komunikaty z rejestracji a nie z logowania... i nie wiem w ktorym miejscu to zmienic zeby wyswietlalo poprawnie... probowalem unset te zmienne rejestracja ale to nie pomagalo....
skowron-line
Pokaż swój kod będzie łatwiej Ci pomóc.
jacobson
Taki jest kod formularza i tylko przy innych zmienia sie ten input hidden a konkretnie name w nim
  1. <form action="process.php" method="POST">
  2. <p>Login: </p><p><input type="text" name="user" maxlength="30" /></p>
  3. <p>Hasło: </p><p><input type="password" name="pass" maxlength="30" /></p>
  4. <p><input type="hidden" name="rejestracja" value="1" /><input type="submit" value="Join!" /></p>


plik process
  1. class Process
  2. {
  3. function Process(){
  4. if(isset($_POST['logowanie'])){
  5. $this->login();
  6. }
  7. else if(isset($_POST['rejestracja'])){
  8. $this->register();
  9. }
  10.  
  11. else{
  12. header("Location: index.php");
  13. }
  14. }
  15.  
  16. (...) Tutaj sa wszystkie funkcje logowanie i rejestracja (...)
  17. I na koncu:
  18.  
  19.  
  20. };
  21. $process = new Process;


no i wlasnie nie wiem jak przerywac to dzialanie rejestracji jak cofne sobie do logowania.
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.