PHP -Sitzung zerstören

PHP -Sitzung zerstören
Wenn ein Benutzer eine Website im Browser besucht, wird die Zeit, die dieser Benutzer auf dieser Website übergeben wird. Wenn ein Benutzer den Browser schließt oder sich von der Site abmeldet, läuft die Sitzung ab. Die Sitzungsinformationen können durch Verwendung eines Cookie auf dem Computer des Clients oder mithilfe des PHP -Skripts gespeichert werden, das auf dem Server gespeichert ist. Die vom Cookie gespeicherten Informationen können leicht durch unbefugtes Zugriff gehackt werden. Die Art, Sitzungsinformationen mit dem Cookie zu speichern, ist also ungesichert. PHP verfügt über einige integrierte Funktionen und Sitzungsvariablen, um die Sitzungsinformationen der Benutzer zu behalten und zu zerstören. Der Weg zur Verschiebung der Sitzungsvariablen und zur Zerstörung der PHP -Sitzung wurde in diesem Tutorial gezeigt.

Nicht festgelegte Sitzungsvariable

Die jeweiligen Sitzungsdaten können mithilfe der Funktion "set () entfernt werden. Die Funktion Session_unset () wird verwendet, um alle Sitzungsdaten einer bestimmten Sitzung zu löschen. PHP verwendet $ _Session assoziatives Array, um die Sitzungsdaten aufrechtzuerhalten.

Syntax:

Die Syntax der Session_unset () Funktion hat unten gegeben.

void session_unset ();

Es wird verwendet, um die aktuelle Sitzung durch Löschung aller Sitzungsdaten aus dem $ _Session-Array zu veröffentlichen. Es gibt nichts zurück.

Beispiel-1: Unbegrenzte Sitzungsvariable

Das Entfernen der Sitzung mit der Funktion Session_unset () wurde im folgenden Beispiel gezeigt. Erstellen Sie eine PHP -Datei mit dem folgenden Skript. Erstellen Sie eine Sitzung für die authentifizierten Benutzer und überprüfen Sie einen Wert des $ _Session. Im Skript wird ein Formular verwendet, um den Benutzernamen und das Passwort zu nehmen.

Als nächstes werden diese Werte mit den spezifischen Werten verglichen, um die Authentifizierung zu überprüfen. Eine Sitzung wird erstellt, indem die Funktion Session_start () für den Benutzer verwendet wird, wenn der Benutzername und das Passwort korrekt sind. Wenn der Benutzer die Webseite besucht.

// Überprüfen Sie, ob das Formular eingereicht wird oder nicht
if (isset ($ _ post ['subine'])))

// Überprüfen Sie, ob die Felder Benutzername und Passwort leer sind oder nicht
if (isset ($ _ post ['un']) && isset ($ _ post ['pw'])))

$ userername = $ _post ['un'];
$ password = $ _post ['pw'];
// Überprüfen Sie die Authentifizierung des Benutzers
if ($ userername == 'admin' && $ password == 'Geheimnis')

// Sitzung für den authentifizierten Benutzer starten
Session_Start ();
echo "";
// Überprüfen Sie die Sitzungsvariable
if (isset ($ _ session ['name'])))

// Begrüßungsnachricht drucken
Echo 'Willkommen zurück.
';
// Die Sitzung für den Benutzer abversetzt
Session_unset ();
// Überprüfen Sie die Sitzungsvariable nach dem Unein
Echo "den Sitzungswert nach nicht fester:".$ _Session ['Name']."
";

anders

// Setzen Sie die Sitzungsvariable
$ _Session ['Name'] = 'Administrator';
// Drucken Sie die Sitzungsvariable
Echo "Sitzungsvariable wird für" festgelegt ".$ _Session ['Name']."
";

echo "";

anders

// Fehlermeldung für ungültige Benutzer drucken
Echo "Benutzername oder Passwort wird nicht festgelegt
";



anders

?>



Beispiel für einesszeitliches Sitzungsbeispiel



Nutzername:



Passwort:









?>

Ausgang:
Die folgende Ausgabe wird nach der Ausführung des obigen Skripts angezeigt. Der Benutzer muss einen gültigen Benutzernamen und ein gültiges Passwort angeben, bevor er das Formular einreicht. Laut dem Skript ist der gültige Benutzername ''Administrator"Und das Passwort ist"Geheimnis''.

Die folgende Ausgabe wird angezeigt, wenn der richtige Benutzername und das Passwort über das Formular eingereicht werden und eine neue Sitzung für den Benutzer generiert wird.

Die folgende Ausgabe wird angezeigt, wenn der Benutzer die Seite erneut besucht. Wenn die Sitzung für den Benutzer vorhanden ist, erhält der Benutzer die Nachricht. 'Willkommen zurück'Und die Funktion Session_unset () zerstört die Sitzung für diesen Benutzer. Die Warnmeldung wird in der Ausgabe angezeigt, da die Sitzungsvariable nicht definiert ist, nachdem die Funktion seision_unset () aufgerufen wird. Diese Warnmeldung kann jedoch durch Verwendung weggelassen werden Die Fehler_reportierung Richtlinie.

PHP -Sitzung zerstören

Die Funktion Session_destroy () wird verwendet, um alle Sitzungsvariablen der Besucher zu zerstören. Es zerstört nur die Sitzungsdaten, aber die PHP Super-Global-Variable $ _Session Array enthält die Sitzungsdaten. Die Werte dieses Arrays werden entfernt, wenn das Skript beendet wird oder der Benutzer die Sitzung schließt. Das $ _Session -Array kann erstellt werden, indem ein leeres Array initialisiert wird.

Das PHPSSID -Cookie kann nach der Zerstörung der Sitzung auf dem Computer des Benutzers ohne Daten aufbewahrt werden, wenn das Browser -Cookie auf dem Computer des Benutzers aktiviert ist. In diesem Fall wird für den Benutzer sogar PHPSSID -Cookie eine neue Sitzung generiert, wenn der Benutzer die Seite erneut besucht, eine neue Sitzung wird generiert. Die Syntax dieser Funktion wurde unten gezeigt.

Syntax:

void session_destroy ();

Diese Funktion hat kein Argument und gibt nichts zurück.

Beispiel-2: Zerstörung der Sitzung mit Session_unset ()

Die Möglichkeit, alle Arten von Sitzungsinformationen mithilfe der Funktion Session_unset () zu zerstören, wurde im folgenden Beispiel gezeigt. Erstellen Sie eine PHP -Datei mit dem folgenden Skript, um eine Standardsitzung für die Generalbesucher zu erstellen, den Sitzungsnamen und das Ablaufdatum mithilfe von SetCookie () -Funktion festzulegen und den Sitzungsnamen zu drucken.

// Starten Sie die Sitzung für den Besucher
Session_Start ();
// Setzen Sie den Sitzungs Cookie für den Besucher ein
if (session_id () != "" || isset ($ _ cookie [session_name ()])))
setCookie (session_name (), ", time () - 42000, '/');
// Drucken Sie den Standard -Sitzungsnamen
Echo "Der Standard -Sitzungsname ist".Session_name ()."
";
// Drucken Sie das Datum des Sitzungsablaufdatums
echo "Die Sitzung des Ablaufdatums ist".Datum ('D-M-y', time ()+5000000)."
";
// Zerstöre alle Sitzungsinformationen
Session_destroy ();
if (session_id () == "")
Die Echo -Sitzung hat zerstört.";
?>

Ausgang:

Die folgende Ausgabe wird nach der Ausführung des obigen Skripts angezeigt. Hier wurde die Sitzung mit der Ablaufzeit erstellt und später mit der Funktion Session_Destroy () zerstört.

Abschluss

In diesem Tutorial wurden zwei Möglichkeiten zur Zerstörung von PHP -Sitzungen mit Beispielen erklärt. Die Funktionen Session_unset () und Session_Destroy () wurden in diesem Tutorial verwendet, um eine vorhandene Sitzung zu zerstören. Der PHP -Entwickler kann diese Funktionen verwenden, um Sitzungen in PHP zu zerstören.