55822 skanuj0433

55822 skanuj0433



450 PHP i MySQL dla każdego

@mysql_close(); return 0:

}

session_start():

i f(i sSet($_SESSI0N[1 załogowany'])){ headerCLocation: main.php"):

}

else if(!isSet($_POST["haslo"]) || !1sSet($_P0ST[”user"])){

$_SESSI0N['komunikat'] = "Wprowadź nazwę i hasło użytkownika:": includeOform.php');

}

else{

$val = checkPass($_POST["user"]. $ P0ST["haslo"]): if($val — 0){

$_SESSI0N[’zalogowany’] - $_P0ST["user"]: headerCLocation: main.php''):

}

else if($val — 1){

t_SESSI0N['komunikat'] = "Błąd serwera. Zalogowanie nie było możliwe.'': includeCform.php'):

}

else if($val -- 2){

$_SESSI0N['komunikat'] = "Nieprawidłowa nazwa lub hasło użytkownika.'1: includeCform.php’);

}

el se{

$_SESSI0N['komunikat'] = "Błąd serwera. Zalogowanie nie było możliwe.'': includeCform.php');

}

Zasada działania skryptu logowania pozostaje taka sama jak w rozdziałach 14. i 15. Wprowadzone przez użytkownika do formularza logowania nazwa i hasło Są weryfikowane przez funkcję checkPass. Funkcja ta otrzymuje dane w postaci argumentów: user, określającego nazwę użytkownika, oraz pass, określającego hasło użytkownika, i wykonuje zapytanie SQL w postaci:

SELECT Id FROM Users WHERE Nazwa-'$user' AND Haslo='$pass'

Jeśli tak określone zapytanie zwróci w wyniku dokładnie jeden wiersz, oznacza to, że dane były prawidłowe i użytkownik może zostać załogowany. Odczytany identyfikator jest więc przypisywany zmiennej user Id, jest również tworzona zmienna sesji o nazwie Userld i jej również jest przypisywany odczytany identyfikator użytkownika.

Następnie jest wykonywane zapytanie pobierające z tablicy Uzytkownicy_Przywileje przywileje przysługujące logującemu się użytkownikowi. Ma ono postać:

SELECT Przywilejld FROM Uzytkownicy_Przywileje WHERE llserld-Śuserld

Wyniki tego zapytania są przetwarzane w pętli whi 1 e, a rozpoznane przywileje są zapisywane w zmiennej sesji o nazwie Przywileje. Ta zmienna to, tak jak w przypadku przykładu z rozdziału 15., tablica przywilejów, w której kluczami są nazwy przywilejów.


Wyszukiwarka

Podobne podstrony:
skanuj0161 (9) 172 PHP i MySQL dla każdego Zwraca ona ciąg strl, z którego począwszy od znaku o inde
skanuj0163 (9) 174 PHP i MySQL dla każdego Listing 6.12. Wykorzystanie funkcji strtok <?php $str

więcej podobnych podstron