Wie man Variablen an die nächste Seite in PHP übergibt
Eine PHP-Variable ist ein Symbol oder ein Name, der einem Wert entspricht. Sie wird verwendet, um Werte wie Werte, Zahlen, Zeichen oder Speicheradressen zu speichern, damit sie in jedem Teil des Programms verwendet werden können. Eine einfache Variable kann in jedem Teil des Programms verwendet werden, aber sie ist außerhalb des Programms nicht zugänglich, es sei denn, sie wird mit einem GET
und POST
durch ein HTML-Formular, eine Session
oder einen Cookie
übergeben.
Verwendung von GET
und POST
über HTML-Formular
HTML-Formular ist eine der mächtigsten Funktionen von PHP. Jedes Formular-Element ist automatisch für den Aktionsort
des Formulars verfügbar.
POST-Anfrage
<form action="nextPage.php" method="POST">
<input type="text" name="email">
<input type="text" name="username">
<input type="submit" name="submit">
</form>
Daten in die nextPage.php
abrufen
$username = isset($_POST['username']) ? $_POST['username'] : "";
$email = isset($_POST['email']) ? $_POST['email'] : "";
echo "Username: ".$username;
echo "Email: ".$email;
Die Beispielausgabe des Skripts lautet möglicherweise:
Username: johndoe
Email: johndoe@gmail.com
Das obige Beispiel zeigt, wie eine Variable mit POST
durch ein HTML-Formular übergeben wird. Das Formular-Element muss die Attribute action
und method
haben. Die action
enthält die nächste Seite, in diesem Fall ist es nextPage.php
. Die Methode kann eine POST
oder GET
sein. Sie können dann auf die Elemente in der nextPage.php
mit einem $_POST
oder $_GET
zugreifen.
GET-Anfrage
<?php
$phpVariable = "Dog";
?>
<a href="nextPage.php?data=<?=$phpVariable?>">Bring me to nextPage</a>
Dieses Beispiel erzeugt eine GET
-Variable und kann unter nextPage.php
aufgerufen werden.
Beispiel:
echo $phpVariable = $_GET['phpVariable'];
//output: Dog
Auf das GET kann mit $_GET
zugegriffen werden.
Eine andere Möglichkeit besteht darin, ein verborgenes Element in ein HTML-Formular einzufügen, das an die nächste Seite weitergeleitet wird.
Beispiel:
<form action="nextPage.php" method="POST">
<input type="hidden" name="phpVariable" value="Dog">
<input type="submit" name="submit">
</form>
nächsteSeite.php
//Using POST
$phpVariable = $_POST['phpVariable'];
//Using GET
$phpVariable = $_GET['phpVariable'];
//Using GET, POST or COOKIE;
$phpVariable = $_REQUEST['phpVariable'];
Sie können die Methode von POST
auf GET
ändern, um die GET
-Anfrage zu verwenden. POST
und GET
sind beide unsicher, aber GET
ist leichter zu hacken, da es über das Front-End verfügbar ist.
Die $_REQUEST
kann sowohl GET
, POST
als auch COOKIE
akzeptieren. Es ist gut, $_REQUEST
auf selbstreferenziellen Formularen für Validierungen zu verwenden.
Verwendung von Session
und Cookie
Die Session
und der Cookie
sind einfacher zu benutzen, aber die Session
ist viel sicherer als die Cookies, aber nicht völlig sicher.
Sitzung
//page 1
$phpVariable = "Dog";
$_SESSION['animal'] = $phpVariable;
//page 2
$value = $_SESSION['animal'];
Hinweis: Wenn Sie die session
verwenden, denken Sie immer daran, auf beiden Seiten session_start()
hinzuzufügen, bevor Sie auf das Array $_SESSION
zugreifen.
Cookie
//page 1
$phpVariable = "Dog";
$_COOKIE['animal'] = $phpVariable;
//page 2
$value = $_COOKIE['animal'];
Der offensichtlichste Unterschied zwischen Cookies
und Session
ist, dass diese Session
auf der Server-Seite gespeichert wird, während die Cookies
die Client-Seite als Speicher haben.