Anzeige - [Hier werben / Mediadaten]

> Webmaster FAQ - Variablen über mehrere Seiten hinweg verwenden - PHP, Mysql & Apache
Ayom Wissensdatenbank 654 Artikel
  Aktuelles Rating:    Last Edit by memoriam @ 15.01.2007 14:24:47
Edit Post

Variablen über mehrere Seiten hinweg verwenden

Mit Sessions kann man Daten von a nach c über b transportieren. Das ist sehr praktisch.
Dazu muss der Provider Sessions erlaubt haben.

formular.html
CODE

<form method="Post" 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
CODE

<?php
session_start();
// Verwenden Sie bei PHP 4.0.6 oder niedriger $HTTP_SESSION_VARS
if (!isset($_SESSION['name'])) {
$_SESSION['name'] = $_POST['name'];
}

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


main2.php
CODE

<?php
session_start();
// Verwenden Sie bei PHP 4.0.6 oder niedriger $HTTP_SESSION_VARS
if (!isset($_SESSION['name'])) {
echo 'Geben Sie im <a href="formular.html">Formular</a> ein Wert ein!';
exit; // Sicherheitshalber wird hier abgebrochen.
} else {
echo '<p>PAGE2:------>Im Formular wurde <b>';
echo $_SESSION['name'];
echo "</b> eingegeben!</p>\n";
echo '<p><a href="main3.php">Logout</a></p>';
}
?>



main3.php
CODE

<?php
session_start();
unset($_SESSION['name']);
?>
<p>Sie sind jetzt ausgeloggt!</p>


Wenn man Daten von a nach k transportieren will, muss auf jeder Seite
CODE
<?php
session_start();
?>

stehen - gleich zu Beginn der Datei, also bevor irgendein anderer Teil des Dokumentes generiert wurde - ansonsten werden die Daten nicht weitertransportiert.

Wenn User auch auf die Seiten kommen bei denen Sessions nicht funktionieren, da sie z.B. Cookies deaktiviert haben, sollte man eine if Abfrage setzen, dass nur User mit Sessions bestimmte Sätze angezeigt bekommen wie
CODE
<p>Im Formular wurde <b><?php echo $_Session['name'] ?></b> eingegeben!!</p>

Da ohne Sessions $name nicht transportiert wurde und deshalb leer ist.



Creative Commons License Diese Seite steht (wenn nicht anders angegeben)
unter der Creative Commons Lizenz (Mehr Infos)
Diesen Artikel editieren
Neuer Artikel eröffnen
Kategorien des Artikels:

Aktuelle Themen: Betreff, (Autor) Antw. Views Letzte Aktion
Joomla Lightbox Gallery
(ajse80)
13 129 Thu 11. Mar 20:15
von ajse80
Suche Countdown Script für Website
(Alexandra_Holzenkamp)
3 164 Wed 10. Mar 17:47
von Alexandra_Holzenkamp
Dialog per Skript oeffnen und schliessen
(Sancheck)
0 65 Wed 10. Mar 12:26
von Sancheck
div wird in safari nicht angezeigt
(Sancheck)
0 47 Wed 10. Mar 09:48
von Sancheck
Datum wird nicht richtig ausgegeben
(hein)
4 135 Tue 9. Mar 09:57
von hein
Alle Diskussionen im Programmierung Allgemein Forum anzeigen
Top
 
 



Anzeige - [Hier werben / Mediadaten]





Anzeigen


[Hier werben / Mediadaten]