PHP-Sessions

PHP Session Variablen werden verwendet, um Informationen über die Benutzer-Sitzung zu speichern oder die Einstellungen der Benutzer-Sitzung zu ändern. Die Informationen, die die Session Variablen speichern, sind für einen einzelnen Benutzer bestimmt und können von allen Seiten der Anwendung verwendet werden.

PHP Session Variablen

Wenn Sie eine Anwendung ausführen, öffnen Sie sie, machen einige Änderungen und schließen sie. Das ist sehr ähnlich wie eine Sitzung. Der Computer weiß, wer Sie sind. Er weiß, wann Sie die Anwendung starten und wann sie beenden. Aber im Internet gibt es ein Problem: Der Server weiß nicht, wer Sie sind und was Sie tun, da die HTTP-Adressen den Zustand nicht aufrechterhalten können.

Durch das Speichern von Benutzerinformationen auf dem Server für spätere Verwendung löst PHP dieses Problem (z.B. Benutzername, gekaufte Produkte usw.). Allerdings sind Sitzungsdaten temporär und werden nach dem Verlassen der Website gelöscht. Wenn Sie Informationen dauerhaft speichern möchten, können Sie die Daten in einer Datenbank speichern.

Der Mechanismus der Sitzung ist: Für jeden Besucher wird eine eindeutige ID (UID) erstellt und die Variablen basierend auf dieser UID gespeichert. Die UID wird im Cookie gespeichert oder über die URL weitergeleitet.

Starten Sie die PHP Sitzung

Bevor Sie Benutzerinformationen in die PHP Session speichern, müssen Sie zunächst die Sitzung starten.

Anmerkung:Die session_start() Funktion muss vor den <html>-Tags stehen:

<?php session_start(); ?>
<html>
<body>
</body>
</html>

Das obige Code-Snippet registriert den Benutzersitz bei dem Server, damit Sie Benutzerinformationen speichern können und gleichzeitig einem Benutzer-Sitz eine UID zuweist.

Speichern von Session Variablen

Die richtige Methode, um session Variablen zu speichern und abzurufen, ist die Verwendung der PHP $_SESSION Variable:

<?php
session_start();
// store session data
$_SESSION['views']=1;
?>
<html>
<body>
<?php
//retrieve session data
echo "Pageviews=". $_SESSION['views'];
?>
</body>
</html>

Ausgabe:

Pageviews=1

In den folgenden Beispielen erstellen wir einen einfachen page-view Counter. Die Funktion isset() überprüft, ob die Variable "views" bereits gesetzt ist. Wenn "views" bereits gesetzt ist, erhöhen wir den Zähler. Wenn "views" nicht existiert, erstellen wir die Variable "views" und setzen sie auf 1:

<?php
session_start();
if(isset($_SESSION['views']))
  $_SESSION['views']=$_SESSION['views']+1;
else
  $_SESSION['views']=1;
echo "Ansichten=". $_SESSION['views'];
?>

Session beenden

Wenn Sie bestimmte Session-Daten löschen möchten, können Sie die Funktionen unset() oder session_destroy() verwenden.

Die Funktion unset() wird verwendet, um spezifische Session-Variable freizugeben:

<?php
unset($_SESSION['views']);
?>

Sie können auch die Funktion session_destroy() verwenden, um die Session vollständig zu beenden:

<?php
session_destroy();
?>

Anmerkung:session_destroy() wird die Session zurücksetzen, und Sie werden alle gespeicherten Session-Daten verlieren.