Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Problem z logowaniem
szefol7
post
Post #1





Grupa: Zarejestrowani
Postów: 36
Pomógł: 0
Dołączył: 30.10.2004

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


Czy ktoś mógł bym podpowiedzieć co trzeba zmienić w poniższym kodzie, żeby działał poprawnie?
W tej chwili działa dobrze, dopuki wpisuje login ktory juz istnieje w badzie danych. Wtedy jest sprawdzane i porównywane hasło, ale jeżeli wpisze jakiś zupełnie inny login to i jakiekolwiek wymyslone hasło to i tak pojawia mi się informacja że użytkownik został zalogowany.

Oto kod pliku "logowanie.php"

  1. <?php
  2.  
  3. $_SESSION['odwiedzono']='pass';
  4.  
  5. include ('naglowek.php');
  6. ?>
  7. <br><br>
  8. Zalogój się:<br>
  9. <form action=\"o_logowanie.php\" method=\"POST\">
  10. Login:<br>
  11. <input type=\"text\" name=\"login\" size=\"10\"><br>
  12. Hasło:<br>
  13. <input type=\"password\" name=\"haslo\" size=\"10\"><br>
  14. <input type=\"submit\" value=\"Zaloguj\"><br>
  15. </form>
  16.  
  17. </body>
  18. </html>


a oto kod pliku "o_logowanie.php"
  1. <?php
  2.  
  3. if($_SESSION['odwiedzono'] != 'pass') {
  4. echo &#092;"Brak dostępu.\";
  5. }
  6.  
  7. if ($_POST[login] == '') {
  8. echo &#092;"Muisisz podać login.\";
  9. }
  10.  
  11. if ($_POST[haslo] == '') {
  12. echo &#092;"Musisz wpisać hasło.\";
  13. }
  14.  
  15. include ('naglowek.php');
  16.  
  17. $login=stripslashes($_POST[login]);
  18. $haslo=$_POST[haslo];
  19.  
  20. include ('connect.php');
  21. /*Usuwa wszystkie wczesniejsze dane z indexu z hasłem password2 ktore sluzy do po
  22. niejszego porownania hasel*/
  23. $query=&#092;"UPDATE uzytkownicy SET password2=''\";
  24. $wynik_zapytania=mysql_query($query);
  25.  
  26.  
  27.  
  28. //Wprowadza haslo logującej się osoby do tabeli w celu pozniejszego ich zweryfikow
  29. nia
  30. $query=&#092;"UPDATE uzytkownicy SET password2=PASSWORD('$haslo') WHERE login='$login'\";
  31. $wynik=mysql_query($query);
  32. if (!($wynik)) echo &#092;"Blad logowania, dane nie wprowadzone do tabeli.<br>\";
  33.  
  34.  
  35. //Pobieranie danych w celu zweryfikowania zaszyfrowanych danych
  36. $query=&#092;"SELECT password2 FROM uzytkownicy WHERE login='$login'\";
  37. $wynik=mysql_query($query);
  38. $row=mysql_fetch_row($wynik);
  39. $weryfikowane_haslo=$row[0];
  40.  
  41.  
  42.  
  43. //Pobieranie danych uzytkownika w celu weryfikacji z wpisanym haslem
  44. $query=&#092;"SELECT password FROM uzytkownicy WHERE login='$login'\";
  45. $wynik=mysql_query($query);
  46. $row=mysql_fetch_row($wynik);
  47. $haslo_stare=$row[0];
  48.  
  49.  
  50.  
  51. if ($weryfikowane_haslo == $haslo_stare) echo &#092;"Zalogowany. <br>\";
  52. else echo &#092;"Niezalogowany. Sprawdz hasło i sprubuj jeszcze raz. <br>\";
  53.  
  54.  
  55. ?>


Napewno poza tym znajdziecie jeszcze kilka innych "niedociągnięć", także poprosze o wszelkie słowa krytyki, w ten sposób szybciej się nauczę jak popełniać mniej błędów i pisać czytelniejsze i lepiej działające skrypty (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Z góry dziękuję i pozdrawiam.
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: 8.10.2025 - 07:11