Jak sprawdzić czy istnieje podany użytkownik i jego hasło jest poprawne, PHP Skrypty


[MySQL][PHP] Jak sprawdzić czy istnieje podany użytkownik i jego hasło jest poprawne?

0x01 graphic

Chcesz sprawdzić, czy podany login i hasło odpowiadają użytkownikowi, który istnieje w bazie danychh.

0x01 graphic

Tworząc serwisy, gdzie wymagana jest autoryzacja, trzeba sprawdzić czy login i hasło użytkownika odpowiada informacjom zapisanym w bazie danych. Podczas logowania, skrypt musi sprawdzić, czy użytkownik istnieje i czy podane hasło zgadza się z zamieszczonym w bazie.

Napiszmy skrypt, który sprawdzi czy istnieje podany użytkownik i czy jego hasło jest poprawne. Jeżeli użytkownik istnieje i hasło jest poprawne, będziemy mogli dokonać autoryzacji i np. wpuścić użytkownika do serwisu.

Niech konstrukcja tabeli w bazie danych o nazwie baza1 będzie następująca:

CREATE TABLE uzytkownicy (

login CHAR(30) NOT NULL PRIMARY KEY,

haslo CHAR(30) NOT NULL

);

Wystarczy nam tylko login i hasło, z tym, że pola nie mogą być puste (NOT NULL), a login powinien być polem unikalnym (zapewnia to PRIMARY KEY), aby nie było dwóch takich samych loginów w bazie.

Teraz zajmijmy się sprawdzeniem, czy podany login i hasło istnieją w tabeli...

<?

function autoryzacja($login, $haslo) {

$p=mysql_connect("localhost", "user", "password");

mysql_select_db("baza1",$p);

$wynik=mysql_query(

"SELECT * FROM uzytkownicy WHERE login='$login' AND haslo='$haslo'",$p);

if (mysql_num_rows($wynik)==1) {

mysql_close($p); return true;

} else {

mysql_close($p); return false;

}

}

$login="janek"; // pobrane z formularza na stronie

$haslo="12hygtr2"; // pobrane z formularza na stronie

if (autoryzacja($login,$haslo)) {

echo "autoryzacja przebiegła pomyślnie...";

// tutaj zawartość strony po autoryzacji

} else {

echo "login lub hasło podane błędnie...";

// tutaj strona, z prośbą o ponowne zalogowanie

}

?>

Zmienne $login oraz $haslo przechowują wartości wpisane przez użytkownika i pobrane np. przez formularz na stronie. Mając te wartości wywołujemy funkcję autoryzacja() przekazując do niej login i hasło.

Funkcja łączy się z bazą danych i wykonuje zapytanie SQL, sprawdzając czy jest rekord zawierający podany login i hasło. Jeżeli tak, wtedy mysql_num_rows zwróci ilość pasujących rekordów, czyli liczbę 1 - bo tylko jeden rekord może mieć taki sam login i hasło.

Na podstawie tego, co zwróci funkcja autoryzacja(), można już w warunku if określić czy następiła autoryzacja i podany login oraz hasło istnieją. Jeżeli tak, wystarczy dołączyć lub wykonać dalszą część skryptu przeznaczoną dla użytkowników zalogowanych, jeżeli nie pozostaje poinformować o błędzie i np. zaproponować wypełnienie formularza ponownie lub skontaktowanie się z administratorem serwisu aby przydzielił hasło i login.



Wyszukiwarka

Podobne podstrony:
Jak sprawdzić czy numer rachunku bankowego (NRB) został wpisany poprawnie, PHP Skrypty
Jak sprawdzić w pliku tekstowym czy istnieje podany użytkownik i czy jego hasło jest poprawne
Jak sprawdzić czy domena istnieje i do kogo należy, PHP Skrypty
Jak sprawdzić czy w bazie danych istnieje aktualnie dodawana treść, PHP Skrypty
Jak sprawdzic czy pracodawca od Nieznany
Jak sprawdzić czy numer ewidencyjny PESEL został wpisany poprawnie
Jak sprawdzić czy zmienna przechowuje liczbę całkowitą lub rzeczywistą, PHP Skrypty
Jak sprawdzić czy pracodawca odprowadza składki ZUS

Jak sprawdzic czy wykonawca dysponuje osobami zdolnymi do realizacji zamowienia
jak sprawdzic czy zdjecie ma 10x15
Jak sprawdzić czy opony mają właściwe ciśnienie
czy istnieje zapotrzebowanie na produkt jakim jest pilot do, Ekonomia, ekonomia
Jak wyświetlić zawartość katalogu jako linki służące do pobrania plików, PHP Skrypty

więcej podobnych podstron