PHP - Sesje w PHP - logowanie i wylogowanie
| DZIAŁANIE: | Panel Admina! |
Kod:
Plik logowania
do panelu :

Pod strona w
panelu admina :

Plik do
wylogowania :

Ewentualne Objaśnienia:
Tutaj powracamy na chwilkę do poznanych już przez Was sesji w PHP. Oto przykład na działanie panelu administracyjnego - często ktoś zadaje sobie pytanie jak taki panel zbudować ? Jako 1 plik i w zależności od tabeli $_GET - dokonywać odpowiednich operacji, wyświetleń ? No hmm taki plik byłby zapewne ogromny i miałby strasznie zakręcony kod. Więc jak ? Kilka plików - ok , ale jak teraz to zrobić bo przecież w jednym pliku możemy ustawić formularz, który pokazuje odpowiednie dane po podaniu poprawnego hasło, no ale w pozostałych plikach co ? Znowu podawać hasło ? Nie nie no to bez sensu rzecz jasna ! No i właśnie do tego służy nam między innymi coś takiego jak sesja. W moim prostym przykładzie jest to zaprezentowane.
Zobaczmy na plik gdzie się logujemy - sprawdzamy czy podano jakiekolwiek hasło w formularzu - jeżeli nie no to są dwie możliwości albo już jesteśmy zalogowani albo i nie. Jeśli jesteśmy tzn, że zmienna $_SESSION['login'] ma wartość 'ok' czyli pojawia się nam zawartość naszego panelu admina - w przeciwnym wypadku pojawia się formularz do logowania. Kiedy podamy poprawne hasło - zmienna $_SESSION['login'] przyjmie wartość 'ok' - oraz co za tym idzie pojawi się zawartość naszego panelu.
Jak widać mamy tam link do pod strony panelu - rzecz jasna, że takich pod stron będziemy mieć w naszym panelu zapewne bardzo wiele ( zależnie co to za system Internetowy czy serwis ). Na każdej takiej naszej pod stronie oczywiście uruchamiamy sesje znaną już funkcją session_start(); - no i oczywiście sprawdzamy czy zmienna $_SESSION['login'] ma wartość 'ok' - jeżeli tak jest to sygnał, że logowanie przebiegło poprawnie i można wyświetlić zawartość, w przeciwnym wypadku pojawia się informacja, że nie jesteśmy zalogowani.
No i wreszcie plik służący do tego aby się wylogować - pierw sprawdza on czy
rzeczywiście jesteśmy zalogowani - czyli czy zmienna $_SESSION['login'] ma
wartość 'ok' - jeżeli nie pojawia się informacja, że nie byliśmy zalogowani. W
przeciwnym razie wykorzystujemy 3 zapisy do poprawnego wylogowania czyli :
- unset($_SESSION['login'] - aby usunąć zmienną z bieżącej sesji;
- $_SESSION - array(); - aby wyczyścić przechowywane wartości;
- session_destroy(); - aby zniszczyć wszystkie dane zarejestrowane w
sesji;
Czasem dzieją się dziwne rzeczy - wylogujemy się, ale używając klawisza backspace możemy bez niczego wrócić do części, gdzie teoretycznie nie powinnyśmy być - sprawdź to ! W tym przykładzie tak się nie dzieje i tak powinno być. Niektórzy używają jedynie funkcji session_destroy do strony służącej wylogowaniu, jednak warto zrobić to tak jak pokazałem.