Eine kurze Einführung in Sessions Variablen über mehrere Seiten hinweg verwenden - der Session-Befehl macht 's möglich! Oberste Voraussetzung um Session-Befehle korrekt auszuführen ist, dass der Provider a) PHP und b) das speichern von Sessions auf dem Server überhaupt erlaubt. Wird der Session-Befehl unterstützt jedoch nicht das direkte speichern von Sessions bzw. Session-Cookies, so kann man in seinem eigenen Server-Ordner einen Ordner erstellen, in dem Sessions und / oder Session-Cookies gespeichert werden.
Falls das oben genannte Session-Problem auftritt, sollte man die folgenden PHP-Session-Befehle um einen Befehl erweitern:
| Code | 0: 1: 2: 3: 4: 5:
| <?php session_start(); session_register("name"); ?> |
| entspricht dann:
| Code | 0: 1: 2: 3: 4: 5: 6:
| <?php session_save_path("./save"); session_start(); session_register("name"); ?> |
| Der Ordner der für die Sessions benutzt wird lautet hier "./save" ("./"=in diesem Ordner), dieser muss auch existieren !!! Wir gehen jetzt mal von einem Login-Formular aus, in welchem der User seinen Namen eingeben muss. Unser Ziel ist es, dass auf jeder der folgenden Seiten der eingegebene Name aufgelistet ist ! index.php: Das Login-Formular sieht so aus:
| Code | 0: 1: 2: 3: 4: 5:
| <form method="GET" action="main.php"> <p><input type="text" name="name" size="20"></p> <p><input type="submit" value="Abschicken" name="B1"><input type="reset" value="Zurücksetzen" name="B2"></p> </form> |
| main.php: Folgender PHP-Code muss unbedingt am Anfang der Seite eingefügt werden:
| Code | 0: 1: 2: 3: 4: 5: 6:
| <?php session_save_path("./save"); session_start(); session_register("name"); ?> |
| Um sich den eingegebenen Namen ausgeben zu lassen, fügen wir noch folgenden HTML- / PHP-Code im -Bereich ein:
| Code | 0: 1: 2: 3:
| <p>Im Formular wurde <b><?php echo $name ?></b> eingegeben!!</p> <p><a href="main2.php">nächste Ebene</a></p> |
| Der PHP-Code gibt den Namen des Users aus. Das war alles noch keine große Aktion, denn das bisherige kann man auch durch normales "Formular-Handling" erreichen ! Jetzt kommt der spannendste Teil. main2.php: Und wieder muss der folgende PHP-Code am Anfang der Page eingefügt werden:
| Code | 0: 1: 2: 3: 4:
| <?php session_start(); ?> |
| Um nun sehen zu können, ob die Variable wirklich "mitgeschleift" wurde, fügen wir folgenden HTML- / PHP-Code im -Bereich ein:
| Code | 0: 1: 2: 3:
| <p>PAGE2:------>Im Formular wurde <b><?php echo $name ?></b> eingegeben!!</p> <p><a href="main3.php">Logout</a></p> |
| main3.php: Und das sich Niemand in die aktuelle Session "reinhacken" kann, fügen wir folgenden PHP-Code mal wieder am Anfang der Page ein:
| Code | 0: 1: 2: 3: 4: 5:
| <?php session_start(); session_unregister("name"); ?> |
| Nun wurde die aktuelle Session sozusagen gelöscht, also unzugänglich gemacht. Zum Schluss fügen wir noch folgenden HTML-Code in die Page ein:
| Code | 0: 1: 2:
| <p>Sie sind jetzt ausgeloggt!!</p> |
| F E R T I G Kleiner Hinweis am Rande noch: Möchte man z. B. auf diese Weise ein Kundenmenü automatisieren, so sollte man nicht vergessen auch auf den Seiten die nicht auf die Variable zugreifen den PHP-Code:
| Code | 0: 1: 2: 3: 4:
| <?php session_start(); ?> |
| einzubauen, denn sonst wird die Variable nicht weiter transportiert !! »
Keine Kommentare
Es gibt bisher noch keine Kommentare.
» Kommentar schreiben
|