Cześć
Podczas przerabiania książki PHP & MySQL: Novice to Ninja, 6th Edition w dziale "Wylogowanie" natrafiłem na dziwna linię kodu. Mianowicie aby usunąć wszelkie dane z bieżącej sesji autor używa unset($_SESSION);
Po kliknięciu logout przenosi mnie na stronę localhost/logout z potwierdzeniem że wszystko przebiegło pomyślnie i przycisk zmienia się z logout na login. Wszystko jest jak należy ale kiedy przejdę np. localhost czy odświeżę stronę to użytkownik nadal pozostaje niewylogowany. Przycisk zmienia się z powrotem na logout, strony tylko dla zalogowanych pozostaja dostępne itp.
Kiedy zmieniłem ją na którąkolwiek z tych instrukcji wszystko działa:
-
$_SESSION = array();
-
session_destroy();
-
session_unset();
W php.net wyraźnie napisali że: > Do NOT unset the whole $_SESSION with unset($_SESSION) as this will disable the registering of session variables through the $_SESSION superglobal.
Podczas logowania ustawiane są zmienne sesyjne $_SESSION['username']
i $_SESSION['password']
. Możecie mi powiedzieć jak ja mam zmienic tę linie i czy w ogóle aby było poprawnie?