Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP] Panel logowania
Zeelof
post
Post #1





Grupa: Zarejestrowani
Postów: 83
Pomógł: 0
Dołączył: 7.02.2008

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


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.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 11)
tehaha
post
Post #2





Grupa: Zarejestrowani
Postów: 1 748
Pomógł: 388
Dołączył: 21.08.2009
Skąd: Gdynia

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


chyba miało być:
  1. $haslo == $haslo_baza[0]
Go to the top of the page
+Quote Post
cycofiasz
post
Post #3





Grupa: Zarejestrowani
Postów: 711
Pomógł: 127
Dołączył: 5.07.2008
Skąd: Łódź

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



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


chyba odwrotnie powinno być prawda?
Go to the top of the page
+Quote Post
Zeelof
post
Post #4





Grupa: Zarejestrowani
Postów: 83
Pomógł: 0
Dołączył: 7.02.2008

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


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 ;/
Go to the top of the page
+Quote Post
pyro
post
Post #5





Grupa: Zarejestrowani
Postów: 2 148
Pomógł: 230
Dołączył: 26.03.2008

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


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.



--------------------
ET LINGUA EIUS LOQUETUR IUDICIUM
Go to the top of the page
+Quote Post
Zeelof
post
Post #6





Grupa: Zarejestrowani
Postów: 83
Pomógł: 0
Dołączył: 7.02.2008

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


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.
Go to the top of the page
+Quote Post
greycoffey
post
Post #7





Grupa: Zarejestrowani
Postów: 320
Pomógł: 29
Dołączył: 3.04.2010

Ostrzeżenie: (20%)
X----


Po co hashowanie md5(), skoro i tak masz w bazie plain text?
Go to the top of the page
+Quote Post
Zeelof
post
Post #8





Grupa: Zarejestrowani
Postów: 83
Pomógł: 0
Dołączył: 7.02.2008

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


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


Ten post edytował Zeelof 20.02.2011, 18:46:07
Go to the top of the page
+Quote Post
greycoffey
post
Post #9





Grupa: Zarejestrowani
Postów: 320
Pomógł: 29
Dołączył: 3.04.2010

Ostrzeżenie: (20%)
X----


Skąd ty wytrzasnąłeś 24-znakowe md5?
Go to the top of the page
+Quote Post
kadlub
post
Post #10





Grupa: Zarejestrowani
Postów: 548
Pomógł: 105
Dołączył: 4.06.2010

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


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
Go to the top of the page
+Quote Post
pyro
post
Post #11





Grupa: Zarejestrowani
Postów: 2 148
Pomógł: 230
Dołączył: 26.03.2008

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


A w ogóle wykorzystałeś tę wskazówkę, którą Ci dałem? Ona wyjaśnia wszystko.


--------------------
ET LINGUA EIUS LOQUETUR IUDICIUM
Go to the top of the page
+Quote Post
Zeelof
post
Post #12





Grupa: Zarejestrowani
Postów: 83
Pomógł: 0
Dołączył: 7.02.2008

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


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...

Ten post edytował Zeelof 20.02.2011, 18:51:07
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 19.08.2025 - 17:53