Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Przypominanie hasła dzieki switch
Forum PHP.pl > Forum > PHP
djsalat
Mam pytanko odnośnie instrukcji switch.

Chciałbym zrobić przypominanie hasła które by wyglądało tak:

1) klikam na link zpomniałem hasło. >>> przechodzę do strony zapomnialem.php

2) kiedy wejde na zapomnialem.php to zeby wyswietlił sie formularz zeby podac login



3) I teraz tym switchem napisać jakoś czy przełączyć ze jesli istnieje login to niech wyswietli mi nastepny formularz a jesli nie to błąd ( sam php z sql i wyswietlaniem błędu wiem jak zrobić tylko jak to tym switch)

4) jesli dalej pojdzie ok to nastepny formularz ale zeby nie wyswietlal poprzednich formularzy.


5) wyslanie nowego hasła:)



Na czerwono nie umiem:P
Fifi209
Cytat(djsalat @ 8.06.2010, 19:18:53 ) *
[color="#FF0000"]
3) I teraz tym switchem napisać jakoś czy przełączyć ze jesli istnieje login to niech wyswietli mi nastepny formularz a jesli nie to błąd ( sam php z sql i wyswietlaniem błędu wiem jak zrobić tylko jak to tym switch)


To chyba zwykły if wystarczy. ;]
djsalat
Nie no bo na if idzie pierwszy formularz ze jesli pierwszy wysłany to wyswietl drugi formularz a jak sie wyswietli i zrobie ze if wysłany drugi to nie wyswietli sie trzeci tylko błąd na pierwszym.
vermis
  1. if(cośtam) {
  2.  
  3. }else if (cośtaminnego) {
  4.  
  5. } else {
  6.  
  7. }


Jak masz więcej formularzy to dołóż kolejne elseif.
Swoją drogą 3 formularze, żeby hasło przypomnieć? To chyba lekka przesada.
djsalat
1 wysyła pytanie o login czy taki istnieje


jesli tak to wyswietla 2 z jego pytaniem pomocniczym z bazy danych


jesli odp na pytanie sie zgadza to wyswietla 3 formularz do zmiany hasła.
djgarsi
Wg. mnie wystarczy jeden formularz.
Prośba o nick lub mail (podany przy rejestracji) + token (dla botów tongue.gif).
Formularz wysyłasz ma maila jeśli jest on taki jak przy rejestracji.smile.gif
Czyli masz 1 formularz + 2 ify.smile.gif
djsalat
  1. <?php
  2.  
  3. if ($_POST['wyslane']) { // jeżeli formularz został wysłany, to wykonuje się poniższy skrypt
  4.  
  5. $wynik = mysql_query("SELECT * FROM $tabela WHERE login='$login' and status=1");
  6.  
  7. if (mysql_num_rows($wynik) == 1) {
  8.  
  9. // jeśli jest taki login
  10. // to robi kolejny formularz a bierzacy usuwa
  11.  
  12. FORMULARZ 2 wyslana_odpowiedz
  13.  
  14. if ($_POST['wyslana_odpowiedz']) {
  15.  
  16. if (mysql_num_rows($wynik) == 1) {
  17.  
  18. // jesli odp na pytanie z bazy jest taka sama jak odp w bazie to
  19.  
  20. FORMULARZ 3 zmiana_danych
  21.  
  22. if ($_POST['zmiana_danych']) {
  23.  
  24. if ($_POST['haslo']) == spelnia warunki hasla dlugosc itp {
  25.  
  26. // jest ok to wyswietla echo 'ok';
  27.  
  28. }
  29.  
  30. else {
  31.  
  32. echo '<span class="blad"> hasla sie różnią albo długość nie tak</span>';
  33. // wyswietla co źle w hasle i ponownie wyswietla formularz 3
  34. FORMULARZ 3 zmiana_danych
  35. }
  36.  
  37. }
  38. else {
  39. // nie wysłano formularza 3 wiec czeka na tą akcje
  40. }
  41.  
  42. }
  43. else { //jesli nie to wyswietla blad
  44. echo '<span class="blad">Zla odp na pytanie </span>';
  45. echo '<span class="powodzenie">Wracasz na początek przypominania <a href="przypomnienie.php" class="hiperlacza_przypomnienie">Powrót do przypominania</a> </span>';
  46. }
  47.  
  48. }
  49.  
  50. else {
  51. // nie wysłano formularza 2 wiec czeka na tą akcje
  52. }
  53. }
  54.  
  55. else {
  56.  
  57. echo '<span class="blad">Użytkownik o podanym loginie nie istnieje!</span>';
  58.  
  59. FORMULARZ 1
  60.  
  61. }
  62.  
  63. }
  64.  
  65. else {
  66. FORMULARZ 1
  67. // jesli nie ma zadnej akcji to wyswietla sie formularz poczatkowy
  68.  
  69. }
  70.  
  71.  






no i napisalem coś takiego ale jak sie zastanowaiłem to jesli Wyśle formularz 2 to początek php zinterpretuje to jak niewysłany formularz 1 i przez to nie bedzie to działać bo nie dojdzie do formularza 3 sciana.gif pomozecie??

Cytat(djgarsi @ 8.06.2010, 20:27:00 ) *
Wg. mnie wystarczy jeden formularz.
Prośba o nick lub mail (podany przy rejestracji) + token (dla botów tongue.gif).
Formularz wysyłasz ma maila jeśli jest on taki jak przy rejestracji.smile.gif
Czyli masz 1 formularz + 2 ify.smile.gif





jesli ktoś zna twój login to hasło bedzi ci sie generowac przy każdym wpisaniu samego loginu na stronie przypomnij hasło....
set4812
Jak bym miał pisać i miałby sie zmieniac to korzystałbym z parametrów w adresie tongue.gif
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.