php-resource.de

PHP Tutorial: 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.

|22.08.2002 | ndo@ | 31567 | KAT : PHP | | Kommentare 0


1

1

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:

<?php
session_start
();
session_register("name");
?>

entspricht dann:

<?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:

<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:

<?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:

<p>Im Formular wurde <b><?php echo $name ?></b> eingegeben!!</p>
<p><a href="main2.php">nächste Ebene</a></p>

Der PHP-Code <?php echo $name ?> 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:

<?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:

<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:

<?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:

<p>Sie sind jetzt ausgeloggt!!</p>

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:

<?php
session_start
();
?>

einzubauen, denn sonst wird die Variable nicht weiter transportiert !!

Kommentare zum Tutorial
Tutorial kommentieren
 
Über den Autor
ndo@

ndo@

Status
Premium Mitglied

Beruf
Unbekannt

Mitglied seit:
30.04.2009

letzte Aktivität
04.06.2009

 

Tutorial bewerten

Hat Ihnen dieses Tutorial gefallen? Dann bewerten Sie es jetzt! Fünf Sterne bedeutet "Sehr gut", ein Stern "Unzureichend".



 

aktuelle Artikel

Projektmanagement Damals und Heute

Projektmanagement Damals und HeuteWerfen Sie einen Blick auf das, was sich verändert hat, und entdecken Sie, wo die Zukunft dieses Gebietes hinsteuert.

18.01.2021 | Neu | Berni

Arbeitsmanagement-Tools

Arbeitsmanagement-ToolsWarum jedes Team Arbeitsmanagement-Tools benötigt. Man schätzt, dass 25% eines durchschnittlichen Mitarbeiter-Tages durch ineffiziente Arbeit vergeudet werden.

11.12.2020 | Neu | Berni