Wystarczy, że utworzysz sesję logowania. Oto sztuczka. Za każdym razem, gdy przenosisz się z indeksu do domu, powinieneś sprawdzić, czy sesja logowania istnieje. Jeśli nie, poproś użytkownika o zalogowanie się.
Sprawdź, czy użytkownik jest zalogowany
<?PHP
session_start();
if (!(isset($_SESSION['login']) && $_SESSION['login'] != '')) {
header ("Location: login.php");
}
?>
Ponownie zaczynamy najpierw sesję PHP. Następna instrukcja IF jest dość złożona. Ale testujemy dwie rzeczy:czy ustawiono sesję użytkownika o nazwie logowanie? Czy ta sesja jest pustym ciągiem?
!(isset($_SESSION['login']) && $_SESSION['login'] != '')
Pierwsza część to:
!(isset($_SESSION['login'])
Aby sprawdzić, czy sesja jest ustawiona, możesz skorzystać z wbudowanej funkcji isset. Używamy przed nim operatora NOT. (Operator NOT jest wykrzyknikiem.) Mówimy więc:„JEŚLI sesja NIE jest ustawiona”. Sesja może być ustawiona, ale może zawierać „1”. Musimy również sprawdzić, czy sesja o nazwie login NIE jest pustym ciągiem. Jeśli obie te rzeczy zawiodą, możemy przekierować do strony login.php, ponieważ oznacza to, że użytkownik nie jest zalogowany.
Dla każdej strony w Twojej witrynie, jeśli masz powyższy skrypt u góry strony, przekieruje on użytkownika, jeśli nie jest on zalogowany. W ten sposób możesz chronić swoje strony przed osobami niebędącymi członkami. Jeśli są zalogowani, będą mogli przeglądać stronę.
WylogowanieJeżeli spojrzysz na kod dla logout.php, zobaczysz:
<?PHP
session_start();
session_destroy();
?>
To wszystko, czego potrzebujesz, aby wylogować użytkownika:rozpoczynasz sesję, a następnie wydajesz polecenie session_destroy. Wszystko czego potrzebujesz to link do tej strony z dowolnego miejsca w witrynie. Link będzie wyglądał mniej więcej tak, jak Twój kod HTML:
<A HREF = logout.php>Log Out</A>
Gdy użytkownik kliknie ten link, zostanie przeniesiony na stronę z kodem, który niszczy sesję.