Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Trochę dziwne zachowanie dekrementacji.
KR2615
post
Post #1





Grupa: Zarejestrowani
Postów: 311
Pomógł: 13
Dołączył: 7.05.2007

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


Witam.
Napisałem skrypt odpowiedzialny za logowanie się użytkowników do mojego serwisu. Gdy ktoś wchodzi i próbuje się zalogować, dostaje ode mnie 5 prób. Przy każdym złym podaniu loginu/hasła odbierana jest mu jedna próba. Kod wygląda mniej więcej tak:
  1. <?
  2. if(empty($_SESSION["prob_logowania"])) {$_SESSION["prob_logowania"]=5; }
  3.  
  4. if($_SESSION["prob_logowania"] != 0) {
  5. if("warunek_odpowaidajacy_za_udane_logowanie") {
  6. [...]
  7. } else { --$_SESSION[prob_logowania]; echo "Podano złe dane! Pozostało $_SESSION[prob_logowania] prób logowania.";
  8. } else { echo "Przekroczyłeś maksymalną liczbę 5 prób logowania!"; die(); }
  9. ?>


No i niestety po piątym wpisaniu złych danych wyświetla się napis Pozostało 0 prób logowania a po odświeżeniu strony dostaje się kolejne 5 prób.

Czy ktoś mógłby mi pokazać gdzie robię błąd? wydaje mi się, że --$_SESSION[prob_logowania] ustawia $_SESSION[prob_logowania] na pustą zmienną gdy jej wartośc wyniesie 0 (albo mi się wydaje) Prosze o pomoc.

Ten post edytował ksysinek 11.03.2011, 13:49:32
Go to the top of the page
+Quote Post

Posty w temacie


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: 23.08.2025 - 17:12