Musiałem napisać prosty system logowania, oparłem go na plikach ponieważ był on przeznaczony dla niewielkiej liczby osób. Wszystko działa poprawnie po za jednym mankamentem. Gdy logujemy się jako jeden z userów system nas wylogowuje podając że login lub hasło jest błędne ( a są oczywiście prawdziwe )wylogowuje nas i w kolejnym formularzu, który jest identyczny jak poprzedni przy wpisaniu tych samych danych loguje nas bez problemu. Stawiam że jest to winna sesji , a raczej moja ale nie wiem jak to rozwiązać.
Mamy 3 pliki :
-logowanie.php
-index.php
-blad.php
Pliki logowanie.php i blad.php są niemal identyczne różnią się tylko tym ze w tym ostatnim jest linijka echo"Błąd złe hasło lub login...";
Oto ich zawartość :
logowanie.php
<? ?> HTML bla bla bla <form method="post" action="index.php"> Login : <input type="text" name="login" class="form"><br /><br /> Haslo : <input type="password" name="haslo" class="form"><br /> <br /> <input type="submit" value="Zaloguj" class="form"><br /> </form> HTML bla bla bla <? ?>
blad.php
<? ?> HTML bla bla bla <FONT COLOR="FF0000">Błąd ! Złe hasło lub login!</font><br /><br /><br /><br /> <form method="post" action="index.php"> Login : <input type="text" name="login" class="form"><br /><br /> Haslo : <input type="password" name="haslo" class="form"><br /> <input type="submit" value="Zaloguj" class="form"><br /> </form> HTML bla bla bla <? ?>
część pliku index odpowiedzialna za logowanie :
<? ?> HTML bla bla bla <? $zalogowany=false; for($i=0; $i<count($wiersze2) && $zalogowany==false; $i++) { else $zalogowany=false; } else { $zalogowany=true; }else { $zalogowany=false; } } if($zalogowany) { $_SESSION['id']=$dane[2]; $_SESSION['pass']=$dane[1]; $_SESSION['stan']=true; if($_POST['autologowanie']==1){ { } } } else{ $_SESSION['stan']=false; } } } ...