Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP] Panel logowania
Forum PHP.pl > Forum > Przedszkole
Zeelof
Zrobiłem już panel rejestracji i wszystko działa, ale mam teraz problem z panelem logowania.
Co w poniższym kodzie jest błędne?
Dlaczego zawsze jak podaje poprawne czy niepoprawne dane otrzymuje odpowiedź "Zły login lub hasło!"?

  1. // Szyfrowanie hasła
  2. $haslo = md5($_POST['haslo']);
  3.  
  4. // Jeżeli kliknięto na przycisk Zaloguj"
  5. if (isset ($_POST['submit']))
  6. {
  7. $sprawdz = "SELECT haslo FROM gracze WHERE nick='{$_POST['nick']}'";
  8. $sprawdz = mysql_query($sprawdz);
  9. $haslo_baza = mysql_fetch_row($sprawdz);
  10.  
  11. if($haslo[0] == $haslo_baza)
  12. {
  13. nick($nick);
  14. echo "Poprawne dane.";
  15. } else {
  16. echo "Zły login lub hasło!";
  17. }
  18. }


Proszę o pomoc.
tehaha
chyba miało być:
  1. $haslo == $haslo_baza[0]
cycofiasz

if($haslo[0] == $haslo_baza)


chyba odwrotnie powinno być prawda?
Zeelof
Cytat(tehaha @ 20.02.2011, 14:12:27 ) *
chyba miało być:
  1. $haslo == $haslo_baza[0]


Nawet jeżeli to i tak nadal nic ;/
pyro
A w ogóle przeczytałeś co robi Twój własny skrypt? Bo logicznie jest trochę bez sensu

przed:

  1. if($haslo[0] == $haslo_baza)


daj:

  1. var_dump($haslo);
  2. var_dump($haslo[0]);
  3. var_dump($haslo_baza);


I kombinuj czemu jest jak jest.

Zeelof
hymmm teraz otrzymuję komunikat:
Cytat
string(32) "a38f742762f4d088c757ad19ae9d7c37" string(1) "a" bool(false) Zły login lub hasło!


P.S. Zapomniałem dodać, że piszę ten skrypt w celu nauki PHP.
greycoffey
Po co hashowanie md5(), skoro i tak masz w bazie plain text?
Zeelof
Cytat(greycoffey @ 20.02.2011, 14:55:13 ) *
Po co hashowanie md5(), skoro i tak masz w bazie plain text?


Właśnie w bazie hasła są jako md5()

  1. // Treść usunięta
greycoffey
Skąd ty wytrzasnąłeś 24-znakowe md5?
kadlub
a w zapytaniu nie można sprawdzić nicku i hasła od razu u później sprawdzić ile zwróci rekordów chyba szybciej jak zwróci jeden to znaczy że jest dany użytkownik o danym haśle jak zero to nie ma i nie logujemy
pyro
A w ogóle wykorzystałeś tę wskazówkę, którą Ci dałem? Ona wyjaśnia wszystko.
Zeelof
Cytat(greycoffey @ 20.02.2011, 15:31:04 ) *
Skąd ty wytrzasnąłeś 24-znakowe md5?


Dzięki tej odpowiedzi znalazłem błąd ^^
W bazie miałem dostęp tylko na 24 znaki i stąd cały problem ;D

Pyro, to co mi dałeś tylko wyświetlało moje zmienne i rekordy...
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.