skanuj0368 (2)

skanuj0368 (2)



Rozdział 14. ♦ Autoryzacje 383

else if($vai — 1){

S_SESSI0N['komunikat'] » "Błąd serwera. Zalogowanie nie było możliwe.''; i nclude('form.php'):

else if($val — 2){

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

ł

else{

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

}

}

Kod skryptu rozpoczyna się od wywołania funkcji session_start, służącej do inicjowania oraz kontynuowania sesji. Następnie jest sprawdzane, czy została ustawiona zmienna zal ogowany. Jeśli tak, oznacza to, że użytkownik jest załogowany, a zatem następuje przekierowanie do części głównej zapisanej w pliku main.php. Do przekierowa-nia jest wykorzystywana funkcja Location wysyłająca do przeglądarki odpowiedni nagłówek protokołu http.

Jeśli jednak zmienna sesji o nazwie załogowany nie jest ustawiona, oznacza to, że użytkownik nie jest załogowany. Sprawdzane jest zatem, czy są ustawione indeksy user i hasło w tablicy $_P0ST, a tym samym czy do skryptu zostały przekazane parametry o tych nazwach. Jeśli nie są, za pomocą instrukcji include jest wczytywana treść pliku form.php zawierająca formularz umożliwiający wprowadzenie danych. Jeśli jednak oba parametry zostały przekazane, są wykorzystywane w wywołaniu funkcji checkPass wykonującej weryfikację danych.

Funkcja checkPass działa w sposób analogiczny do przedstawionego w poprzednim przykładzie. Wykonuje połączenie z serwerem baz danych i sprawdza, czy istnieje dokładnie jeden rekord odpowiadający danym przekazanym jej w postaci argumentów. W zależności od wyniku weryfikacji zwraca jedną z poniższych wartości:

♦    0 — dane są prawidłowe, użytkownik może zostać załogowany;

♦    1 — wystąpił błąd serwera, np. problem z połączeniem z serwerem baz danych;

♦    2 — podane zostały nieprawidłowe dane, czyli błędna nazwa lub hasło.

Wynik działania funkcji jest następnie przypisywany zmiennej val. W zależności od wartości tej zmiennej, w złożonej instrukcji warunkowej if.. .else.. .if są wykonywane dalsze czynności:

1.    Jeśli val ma wartość 0, jest ustawiana zmienna sesji załogowany, jest jej przypisywana nazwa załogowanego użytkownika oraz następuje przekierowanie do głównej części serwisu (plik main.php').

2.    Jeśli val ma wartość 1, jest ustawiana zmienna komunikat, której jest przypisywany ciąg znaków informujący o błędzie serwera, oraz następuje wczytanie formularza logowania (plik form.php).


Wyszukiwarka

Podobne podstrony:
skanuj0374 (3) Rozdział 14. ♦ Autoryzacje 389 Listing 14.8. Kod formularza umożliwiającego wprowadze
skanuj0376 (3) Rozdział 14. ♦ Autoryzacje 391 z parametrem type ustawionym na button. Do zdarzenia o
skanuj0378 (2) Rozdział 14. ♦ Autoryzacje $query - "INSERT INTO Users VAIUESC: $query .= "
56459 skanuj0366 (2) Rozdział 14. ♦ Autoryzacje 381 W jego wyniku zostanie zwrócony jeden wiersz, za
13704 skanuj0364 (2) Rozdział 14. ♦ Autoryzacje 379 Rozdział 14. ♦ Autoryzacje 379 Listing 14.2. Skr
76696 skanuj0381 (2) Rozdział 14. ♦ Autoryzacje 395 Kod funkcji rejestruj rozpoczyna się od sprawdze
62981 skanuj0372 (2) Rozdział 14. ♦ Autoryzacje 387 ♦    nazwa użytkownika (konta), ♦
63897 skanuj0370 (2) Rozdział 14. ♦ Autoryzacje 385 zmienna załogowany jest ustawiona, do przeglądar

więcej podobnych podstron