Zmienna sesji UNSET
Konkretne dane sesji można usunąć za pomocą funkcji unset (). Funkcja session_unset () służy do usuwania wszystkich danych związanych z sesją określonej sesji. PHP używa tablicy asocjacyjnej $ _session, aby zachować dane sesji.
Składnia:
Składnia session_unset () Funkcja podała poniżej.
void session_unset ();Służy do rozwiązywania bieżącej sesji poprzez usunięcie wszystkich danych związanych z sesją z tablicy $ _session. Nic nie zwraca.
Przykład-1: Zmienna sesji UNSET
Usuwanie sesji za pomocą funkcji session_unset () pokazano w poniższym przykładzie. Utwórz plik PHP z następującym skryptem Utwórz sesję dla uwierzytelnionych użytkowników i sprawdź wartość tablicy $ _session po zniszczeniu sesji. Formularz jest używany w skrypcie do przyjęcia nazwy użytkownika i hasła.
Następnie wartości te zostaną porównane z określonymi wartościami, aby sprawdzić uwierzytelnianie. Sesja zostanie utworzona za pomocą funkcji session_start () dla użytkownika, jeśli nazwa użytkownika i hasło są prawidłowe. Jeśli użytkownik odwiedzi stronę internetową, sesja zostanie usunięta za pomocą funkcji session_unset (), aby sprawdzić, czy bieżą sesja jest zniszczona, czy nie.
// Sprawdź, czy formularz jest przesłany lub niePrzykład sesji unset
Wyjście:
Następujące dane wyjściowe pojawią się po wykonaniu powyższego skryptu. Użytkownik musi podać prawidłową nazwę użytkownika i hasło przed przesłaniem formularza. Zgodnie ze skryptem prawidłowa nazwa użytkownika to 'Admin„A hasło jest”sekret'.
Następujące dane wyjściowe pojawią się, jeśli poprawna nazwa użytkownika i hasło zostaną przesłane przez formularz, a dla użytkownika zostanie wygenerowana nowa sesja.
Następujące dane wyjściowe pojawią się, jeśli użytkownik ponownie odwiedzi stronę. Jeśli istnieje sesja dla użytkownika, użytkownik otrzyma wiadomość ”Witamy spowrotem„A funkcja session_unset () zniszczy sesję dla tego użytkownika. Komunikat ostrzegawczy pojawi się w wyjściu, ponieważ zmienna sesji zostanie niezdefiniowana po wywołaniu funkcji session_unset (). Ale ten komunikat ostrzegawczy można pominąć za pomocą error_reporting dyrektywa.
Zniszcz sesję PHP
Funkcja session_destroy () służy do niszczenia wszystkich zmiennych sesji odwiedzających. Po prostu niszczy dane sesji, ale zmienna super-globalna PHP, tablica $ _session zawiera dane sesji. Wartości tej tablicy zostaną usunięte, jeśli skrypt zostanie zakończony lub użytkownik zamknie sesję. Tablica $ _Session można utworzyć, inicjowanie pustej tablicy.
Plik cookie phpsessid może być przechowywany w komputerze użytkownika bez żadnych danych po zniszczeniu sesji, jeśli plik cookie przeglądarki jest włączony na komputerze użytkownika. W takim przypadku, gdy użytkownik ponownie odwiedzi stronę, zostanie wygenerowana nowa sesja dla użytkownika, nawet plik cookie Phpsessid istnieje. Składnia tej funkcji pokazano poniżej.
Składnia:
void session_destroy ();Ta funkcja nie ma żadnego argumentu i nic nie zwraca.
Przykład-2: Niszczenie sesji za pomocą session_unset ()
Sposób niszczenia wszystkich rodzajów informacji o sesji za pomocą funkcji session_unset () pokazano w poniższym przykładzie. Utwórz plik PHP z następującym skryptem, aby utworzyć domyślną sesję dla ogólnych odwiedzających, ustaw nazwę sesji i datę ważności za pomocą funkcji setCookie () i wydrukuj nazwę sesji po zniszczeniu sesji za pomocą funkcji session_unset ().
// Rozpocznij sesję dla gościaWyjście:
Następujące dane wyjściowe pojawią się po wykonaniu powyższego skryptu. Tutaj sesja została utworzona z czasem ważności i zniszczona później za pomocą funkcji session_destroy ().
Wniosek
W tym samouczku wyjaśniono dwa sposoby zniszczenia sesji PHP. Funkcje session_unset () i session_destroy () zostały użyte w tym samouczku do zniszczenia każdej istniejącej sesji. Deweloper PHP może użyć dowolnej z tych funkcji do niszczenia sesji w PHP.