Warning: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php on line 58
Variablen über mehrere Seiten hinweg verwenden - der Session-Befehl macht 's möglich! PHP Tutorials nicht nur für Anfänger php-resource.de
php-resource.de

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@ | 20461 | 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

Schwere Sicherheitslücke in PHP 5.3.9

Schwere Sicherheitslücke in PHP 5.3.9Die Sicherheitslücke erlaubt das Ausführen von PHP-Code über das Netzwerk. Suhosin bringt Abhilfe öffnet jedoch alte Probleme

02.02.2012 | Neu | Berni

Firefox 10 enthält neue Entwicklerwerkzeuge

Firefox 10 enthält neue EntwicklerwerkzeugeFirefox steht in der Version 10 zum Download bereit. Gerade Entwickeler dürften sich über die neuen Entwicklungswerkzeuge freuen.

31.01.2012 | Neu | phpler