Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php][sql]Sprawa delikatna
Forum PHP.pl > Forum > Przedszkole
-tomek-
Witam! Mam w bazie danych MySQL tabele z zarejestrowanymi użytkownikami i chciałbym przy logowaniu sprawdzać czy podany login i hasło zgadzają się ze znajdującymi sie w bazie;) Jeśli takowe się znajdują to użytkownik został zalogowany, jeśli nie to nie.

Dlatego mam pytanie jak zapisac z poziomu PHP zapytanie do bazy danych MySQL czy podany login i hasło zgadzają się z tymi w bazie?


Ten przykład nie dziala: $query= "select * from uzytkownicy where nick=='$l' szyfr=='$h'";

Zaznaczam, że tabela zawierające dane użytkownika nazywa się uzytkownicy a $l=$_POST['login'] natomiast $h=$_POST['haslo']

Z góry dziękuje za pomoc i pozdrawiam!!!;)
Cysiaczek
Jeśli hasło jest szyfrowane/hashowane, to gdy sprawdzasz, to musisz podane w formularzu hasło też zaszyfrować/zahashować i wtedy pewnie stringi będą się zgadzały, Sprawdź jak jest przechowywane hasło w bazie - zobacz na funkcję zapisującą login i hasło do bazy (przy rejestracji).
Najczęsciej jest stosowane md5();

np.
  1. <?php
  2. $h=md5($h);
  3. $query= "select * from uzytkownicy where nick=='$l' szyfr=='$h'";
  4. ?>


Na przyszość - zapoznaj się z zasadami forum Przedszkole, bo następnym razem topik zostanie zamknięty

Pozdrawiam.
tehn
w sqle operator porównania to jedno =

  1. <?php
  2. $h=md5($h);
  3. $query= "select * from uzytkownicy where nick='$l' szyfr='$h'";
  4. ?>
piwi_7
Ze wgzlędów bezpieczeństwa zaszyfruj pole hasło algorytmem md5(). Chociaż to nie jest super bezpieczne rozwiązanie i powinieneś poczytać więcej na ten temat.

A odnośnie zapytania do bazy to powinno wyglądać następująco:

  1. <?php
  2. $login=$_POST['login'];
  3. $haslo=$_POST['haslo'];
  4.  
  5. //Połączenie z bazą danych
  6. $link=mysql_connect('adres_do_bazy','login_do_bazy','haslo_do_bazy');
  7. mysql_select_db('nazwa_bazy_danych',$link);
  8.  
  9. $zapytanie="SELECT * FROM `uzytkownicy` WHERE `nick`='$login' AND `szyfr`='$haslo'";
  10. $result=mysql_query($zapytanie,$link);
  11.  
  12. if(!mysql_num_rows($result))
  13.  {echo "Nie znaleziono takiego gościa";}
  14. else
  15.  { //instrukcje po pomyślnej autoryzacji danych}
  16. ?>


Pisane z palca, więc trzeba sprawdzić średniki itp...
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.