Neueste Web-Entwicklung Tutorials
 

PHP 5 Sessions


Eine Sitzung ist eine Möglichkeit , um Informationen zu speichern (in variables) auf mehreren Seiten verwendet werden.

Im Gegensatz zu einem Cookie, wird die Information nicht auf dem Computer des Benutzers gespeichert.


Was ist eine PHP-Session?

Wenn Sie mit einer Anwendung arbeiten, öffnen Sie es, einige Änderungen tun, und schließen Sie es. Das ist ähnlich wie bei einer Session. Der Computer weiß, wer Sie sind. Er weiß, wenn Sie die Anwendung starten und wenn Sie beenden. Aber im Internet gibt es ein Problem: der Web-Server nicht weiß, wer Sie sind oder was Sie tun, weil die HTTP-Adresse nicht Zustand halten.

Session - Variablen lösen dieses Problem durch Speichern von Benutzerinformationen auf mehreren Seiten verwendet werden (eg username, favorite color, etc) . In der Standardeinstellung letzten Session-Variablen, bis der Benutzer den Browser schließt.

Damit; Session-Variablen enthalten Informationen über einen Nutzer, und sind auf allen Seiten in einer Anwendung zur Verfügung.

Tipp: Wenn Sie einen permanenten Speicher benötigen, können Sie die Daten in einer speichern möchten Datenbank .


Starten Sie eine PHP-Session

Eine Sitzung wird mit der gestarteten session_start() Funktion.

Session-Variablen werden mit der PHP globalen Variable: $ _SESSION.

Nun lassen Sie uns eine neue Seite erstellen namens "demo_session1.php" . Auf dieser Seite starten wir eine neue PHP-Session und setzen einige Session-Variablen:

Beispiel

<?php
// Start the session
session_start();
?>
<!DOCTYPE html>
<html>
<body>

<?php
// Set session variables
$_SESSION["favcolor"] = "green";
$_SESSION["favanimal"] = "cat";
echo "Session variables are set.";
?>

</body>
</html>
Führen Sie zB »

Note: Die session_start() Funktion das erste , was in Ihrem Dokument sein muss. Bevor irgendwelche HTML-Tags.


Erhalten Sie PHP Session Variable Werte

Als Nächstes erstellen wir eine neue Seite namens "demo_session2.php" . Auf dieser Seite werden wir die Sitzungsinformationen zugreifen wir auf der ersten Seite festgelegt ("demo_session1.php") .

Beachten Sie, dass Session - Variablen werden nicht einzeln auf jede neue Seite übergeben, statt sie aus der Sitzung abgerufen werden wir am Anfang jeder Seite öffnen ( session_start() ).

Beachten Sie auch, dass alle Sitzungsvariablenwerte gespeichert werden in dem globalen $ _SESSION variable:

Beispiel

<?php
session_start();
?>
<!DOCTYPE html>
<html>
<body>

<?php
// Echo session variables that were set on previous page
echo "Favorite color is " . $_SESSION["favcolor"] . ".<br>";
echo "Favorite animal is " . $_SESSION["favanimal"] . ".";
?>

</body>
</html>
Führen Sie zB »

Ein anderer Weg, um alle Session-Variablen Werte für eine Benutzersitzung zu zeigen, ist den folgenden Code auszuführen:

Beispiel

<?php
session_start();
?>
<!DOCTYPE html>
<html>
<body>

<?php
print_r($_SESSION);
?>

</body>
</html>
Führen Sie zB »

Wie funktioniert es? Woher weiß er , es ist mir?

Die meisten Sitzungen setzen einen Benutzer-Taste auf dem Computer des Benutzers, die etwa wie folgt aussieht: 765487cf34ert8dede5a562e4f3a7e12. Dann, wenn eine Sitzung auf einer anderen Seite geöffnet wird, scannt er den Computer für einen Benutzer-Schlüssel. Wenn es eine Übereinstimmung gibt, greift er auf die Sitzung, wenn nicht, ist es eine neue Sitzung gestartet.


Ändern einer PHP Session Variable

Um ein Session-Variable zu ändern, überschreibt es einfach:

Beispiel

<?php
session_start();
?>
<!DOCTYPE html>
<html>
<body>

<?php
// to change a session variable, just overwrite it
$_SESSION["favcolor"] = "yellow";
print_r($_SESSION);
?>

</body>
</html>
Führen Sie zB »

Zerstören Sie eine PHP-Session

Um alle globalen Session - Variablen zu entfernen und zerstören die Sitzung, die Verwendung session_unset() und session_destroy() :

Beispiel

<?php
session_start();
?>
<!DOCTYPE html>
<html>
<body>

<?php
// remove all session variables
session_unset();

// destroy the session
session_destroy();
?>

</body>
</html>
Führen Sie zB »