Lektion 10: Variablen über die URL weitergeben
Wenn Sie mit PHP arbeiten, werden Sie oftmals Variablen von einer Seite zu einer anderen weitergeben müssen. Diese Lektion ist genau über diese Weitergabe von Variablen über die URL.
Wie geht das?
Vielleicht haben Sie sich schon einmal gewundert, warum manche URLs so aussehen:
http://html.net/page.php?id=1254
Warum ist da ein Fragezeichen nach dem Seitennamen?
Die Antwort ist, dass die Zeichen nach dem Fragezeichen ein HTTP query string sind. Ein HTTP query string kann sowohl Variablen, als auch deren Werte enthalten. Im obigen Beispiel enthält der HTTP query string eine Variable "id" mit dem Wert "1254".
Hier ein weiteres Beispiel:
http://html.net/page.php?name=Joe
Wieder eine Variable ("name") mit einem Wert ("Joe").
Wie gelangt PHP an diese Variable?
Nehmen wir an, Sie haben eine PHP-Seite mit dem Namen people.php. Sie können diese Seite mit der folgenden URL aufrufen:
people.php?name=Joe
Im PHP-Code können Sie wie folgt an den Wert der Variable 'name' gelangen:
$_GET["name"]
Also, man benutzt $_GET um an den Wert einer benannten Variable zu gelangen. Lassen Sie uns dies in einem Beispiel anwenden:
<html> <head> <title>Query string</title> </head> <body> <?php '// Der Wert der Variable name wird ausgelesen echo "<h1>Hallo " . $_GET["name"] . "</h1>"; ?> </body> </html>
Wenn Sie sich das obige Beispiel anschauen, versuchen Sie den Namen "Joe" in der URL durch Ihren eigenen zu ersetzen und rufen Sie das Dokument erneut auf! Ganz schön cool, oder?
Mehrere Variablen in der gleichen URL
Sie sind nicht darauf beschränkt, nur eine Variable in der URL weiterzugeben. Wenn man die Variablen mit einem & trennt, können mehrere weitergegeben werden:
people.php?name=Joe&age=24
Diese URL enthält zwei Variablen: name and age (also Name und Alter). Wie im vorigen Beispiel bekommen die die Werte der Variablen wie folgt:
$ _GET["name"] $ _GET["age"]
Nehmen wir die zweite Variable zu unserem Beispiel hinzu:
<html> <head> <title>Query string </title> </head> <body> <?php // Der Wert der Variable name wird ausgelesen echo "<h1>Hallo " . $ _GET["name"] . "</h1>"; // Der Wert der Variable age wird ausgelesen echo "<h1>Sie sind . " $ _GET["age"] . " Jahre alt </h1>"; ?> </body> </html>
Jetzt haben Sie gelernt, wie man Werte von Variablen zwischen Seiten über die URL weitergeben kann. In der folgenden Lektion werden wir eine andere Möglichkeit behandeln: Formulare (forms).