HTML / HTTP ist zustandslos, dh was Sie auf der vorherigen Seite getan / gesehen haben, ist vollständig nicht mit der aktuellen Seite verbunden. Außer wenn Sie so etwas wie Sitzungen, Cookies oder GET / POST-Variablen verwenden. Sitzungen und Cookies sind recht einfach zu verwenden, wobei Sitzungen weitaus sicherer sind als Cookies. Sicherer, aber nicht vollständig sicher.
Session:
//On page 1
$_SESSION['varname'] = $var_value;
//On page 2
$var_value = $_SESSION['varname'];
Denken Sie daran, die session_start();
Anweisung auf beiden Seiten auszuführen, bevor Sie versuchen, auf das $_SESSION
Array zuzugreifen , und bevor eine Ausgabe an den Browser gesendet wird.
Plätzchen:
//One page 1
$_COOKIE['varname'] = $var_value;
//On page 2
$var_value = $_COOKIE['varname'];
Der große Unterschied zwischen Sitzungen und Cookies besteht darin, dass der Wert der Variablen auf dem Server gespeichert wird, wenn Sie Sitzungen verwenden, und auf dem Client, wenn Sie Cookies verwenden. Ich kann mir keinen guten Grund vorstellen, Cookies anstelle von Sitzungen zu verwenden, es sei denn, Sie möchten, dass Daten zwischen Sitzungen bestehen bleiben, aber selbst dann ist es vielleicht besser, sie in einer Datenbank zu speichern und sie basierend auf einem Benutzernamen oder einer ID abzurufen.
GET und POST
Sie können die Variable im Link zur nächsten Seite hinzufügen:
<a href="page2.php?varname=<?php echo $var_value ?>">Page2</a>
Dadurch wird eine GET-Variable erstellt.
Eine andere Möglichkeit besteht darin, ein verstecktes Feld in ein Formular aufzunehmen, das an Seite zwei gesendet wird:
<form method="get" action="page2.php">
<input type="hidden" name="varname" value="var_value">
<input type="submit">
</form>
Und dann auf Seite zwei:
//Using GET
$var_value = $_GET['varname'];
//Using POST
$var_value = $_POST['varname'];
//Using GET, POST or COOKIE.
$var_value = $_REQUEST['varname'];
Ändern post
Sie einfach die Methode für das Formular in, wenn Sie dies per Post tun möchten. Beide sind gleichermaßen unsicher, obwohl GET leichter zu hacken ist.
Die Tatsache, dass jede neue Anforderung, mit Ausnahme der Sitzungsdaten, eine völlig neue Instanz des Skripts ist, hat mich beim ersten Codieren in PHP überrascht. Sobald Sie sich daran gewöhnt haben, ist es jedoch recht einfach.