- Das Beispiel verwendet zwei Dateien s1.php und s2.php .
- s1.php erzeugt die Session und registriert eine Variable ‚username‘ im globalen Array $_SESSION .
- Nach dem Klick auf den Link in s1.php wird in s2.php die akt. Session weitergeführt und die Variable ‚username‘ ausgelesen und die Session zerstört.
- Man kann so also ohne viel Aufwand versteckt Daten von einer Seite zur anderen transferieren, ohne $_GET (URL) oder $_POST (Formvariablen) zu benutzen.
- s1.php
<?php if (session_start()) // neue Session erstellen oder bestehende fortführen -> muss ganz oben stehen, vor "<?php" dürfen keine Leerzeichen sein { // akt. SessionID ausgeben echo "akt. SessionID: ".session_id()."<br>"; // akt. Speicherpfad der Session ausgeben echo "Speicherpfad der Session: ".session_save_path()."<br>"; // Variable in der Session registrieren, ab PHP 4.1.0 if (!isset($_SESSION["username"])) $_SESSION["username"] = "admin"; echo "akt. Inhalt der Variable 'username': ".$_SESSION["username"]."<br>"; echo "<a href="s2.php" title="Session test">weiter</a>"; } else { echo "Session konnte nicht gestartet werden.<br>"; } ?>
- s2.php
<?php if (session_start()) // neue Session erstellen oder bestehende fortführen -> muss ganz oben stehen, vor "<?php" dürfen keine Leerzeichen sein { // akt. SessionID ausgeben echo "akt. SessionID: ".session_id()."<br>"; // akt. Speicherpfad der Session ausgeben echo "Speicherpfad der Session: ".session_save_path()."<br>"; // Variable in der Session registrieren, ab PHP 4.1.0 echo "akt. Inhalt der Variable 'username': ".$_SESSION["username"]."<br>"; // alle Variablen der Session löschen session_unset(); // kontrollieren, ob die Variable gelöscht wurde echo "akt. Inhalt der Variable 'username' nach session_unset(): ".$_SESSION["username"]."<br>"; if (session_destroy()) { echo "Session erfolgreich zerstört.<br>"; } else { echo "Session konnte nicht zerstört werden.<br>"; } } else { echo "Session konnte nicht gestartet werden.<br>"; } ?>