Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][PHP] Sprawdzanie hasła użytkownika.. ?
Beosky
post 19.02.2012, 19:40:07
Post #1





Grupa: Zarejestrowani
Postów: 62
Pomógł: 0
Dołączył: 13.02.2012
Skąd: Wrocław

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


Witam!
Mam problem ze skryptem logowania, a mianowicie chcę, aby sprawdzał czy użytkownik wpisał poprawne hasło i czy takie samo hasło jest w bazie danych jakie on podał.

Oto kod
  1. //Sprawdzamy czy dane, które podał użytkownik są prawidłowe.
  2. $spr="SELECT id FROM `users` WHERE login = '".$login."'";
  3. $wspr = mysql_query($spr);
  4. $wspr = mysql_num_rows($wspr);
  5. $rspr = mysql_query("SELECT haslo FROM users WHERE id = '2'");
  6. if (!$result) {
  7. echo 'Nie można uruchomić zapytania: ' . mysql_error();
  8. }
  9. $espr = mysql_fetch_row($rspr);
  10.  
  11.  
  12. if($wspr!==1)
  13. exit("Podane dane są nieprawidłowe.");
  14. if($haslo==$espr[2])
  15. exit("Podane dane są nieprawidłowe.");
  16. else {
  17. echo "Zostałeś pomyślnie zalogowany do serwisu.";
  18. }
  19.  


Gdy wypełnie pola formularzu wywala mi błąd ' Nie można uruchomić zapytania '

Na czym może polegać problem?
Go to the top of the page
+Quote Post
wookieb
post 19.02.2012, 19:45:10
Post #2





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




No a co zawiera $result?
Temat: Jak poprawnie zadac pytanie


--------------------
Go to the top of the page
+Quote Post
Beosky
post 19.02.2012, 19:47:06
Post #3





Grupa: Zarejestrowani
Postów: 62
Pomógł: 0
Dołączył: 13.02.2012
Skąd: Wrocław

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


Nie mam $result.

Cytat
BŁĄD:Zapytanie by�o puste
Go to the top of the page
+Quote Post
wookieb
post 19.02.2012, 19:50:58
Post #4





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




No to co to za warunek skoro nawet nie masz tej zmiennej?
  1. if (!$result) {
I w ogóle skąd wytrzasnąłeś ten błąd?


--------------------
Go to the top of the page
+Quote Post
Beosky
post 19.02.2012, 20:31:22
Post #5





Grupa: Zarejestrowani
Postów: 62
Pomógł: 0
Dołączył: 13.02.2012
Skąd: Wrocław

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


Z tym już sobie poradziłem mam teraz taki problem, że skrypt nie sprawdza czy hasło wpisane przez użytkownika jest takie same jak w bazie. I można się zalogować do serwisu nie podając hasła.

Skrypt:
  1. //Sprawdzamy czy dane, które podał użytkownik są prawidłowe.
  2. $spr="SELECT id FROM `users` WHERE login = '".$login."'";
  3. $wspr = mysql_query($spr);
  4. $wspr = mysql_num_rows($wspr);
  5. $rspr = mysql_query("SELECT haslo FROM users WHERE id = '2'");
  6. if (!$rspr) {
  7. echo 'Nie można uruchomić zapytania: ' . mysql_error();
  8. }
  9. $espr = mysql_fetch_row($rspr);
  10.  
  11.  
  12. if($wspr!==1)
  13. exit("Podane dane są nieprawidłowe.");
  14. if($haslo==$espr[2])
  15. exit("Podane dane są nieprawidłowe.");
  16. else {
  17. echo "Zostałeś pomyślnie zalogowany do serwisu.";
  18. }
  19.  
  20.  
  21. ?>


questionmark.gif
Go to the top of the page
+Quote Post
wookieb
post 19.02.2012, 20:32:22
Post #6





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




No a skąd masz zmienną $haslo i co w sobie zawiera?


--------------------
Go to the top of the page
+Quote Post
Beosky
post 19.02.2012, 20:32:59
Post #7





Grupa: Zarejestrowani
Postów: 62
Pomógł: 0
Dołączył: 13.02.2012
Skąd: Wrocław

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


Nie podałem całego skryptu. Zmienna $hasło jest zakodowana przez md5.
Go to the top of the page
+Quote Post
wookieb
post 19.02.2012, 20:36:35
Post #8





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




No to wyświetl sobie wszystkie sprawdzane wartości i zobacz dlaczego wpuszcza bez podania hasła.


--------------------
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 Wersja Lo-Fi Aktualny czas: 31.07.2025 - 07:56