Forum: NOF - Tutorials (185 anschauliche Tutorials zum Lesen und Nacharbeiten) > PHP und MySQL - Tutorials und Kurzanleitungen

PHP -> Die GET-Methode (Daten per Link an eine andere Seite übergeben)

(1/2) > >>

Hans K.:
Bereits im Tut PHP und MySQL -> Erstellung von dynamischen Seiten haben wir die GET-Methode eingesetzt, um Daten an dem Link anzuhängen und an eine andere Seite zu übergeben.

Mit der GET-Methode kann in der URL eine Info mitgeliefert werden, welche dann verarbeitet werden kann.

Beispiel:
seite2.php?name=Hans

Die seite2.php ist die eigentliche Seite. Das Fragezeichen teilt dem Browser mit, dass Daten angehangen werden. name ist der Feldname und Hans ist in diesem Fall die Information.

Mit dem Befehl $_GET["name"] wird Hans dann ausgelesen.

Durchaus können auch mehrere Informationen mitgeliefert werden, dazu werden die Informationen mit dem & Zeichen verknüpft:
seite2.php?nachname=K&vorname=Hans

Jetzt müssen entsprechend auch zwei Informationen ausgelesen werden:
$_GET["nachname"]
$_GET["vorname"]

Eigentlich ganz einfach, oder?

Hans K.:
Annahme: Wir wollen die Modellbezeichnung unserer Motorradseite aus der Datenbank auslesen und per URL an eine andere Seite übergeben, um dort die Info weiter zu verarbeiten.

Dazu schauen wir uns als Vergleich unsere automatisch erstellte Linkliste einmal an: PHP und MySQL -> Erstellung einer automatisch generierten Linkliste

Wir geben in den Layout-Eigenschaften die Abfrage ein:

--- Code: PHP ---<?phpinclude("./html/datenbank.php"); $sql="SELECT ID, Modell FROM Moped";$result = mysql_query($sql); ?>
Dann erstellen wir wie gehabt ein Textfeld. In den Texteigenschaften den Button HTML betätigen (das Textfeld aufziehen, an anderer Stelle ins Layout klicken und dann das Textfeld anklicken -> dann ist das Eigenschaftsfenster zu sehen).

Vor dem Tag ist der Code einzugeben:


--- Code: PHP ---<?php while ($row = mysql_fetch_array($result)) {echo "<a href=\"./seite.php?modell=". $row["Modell"]. "\">< /a>"; }?> <!--
Wobei seite.php die Seite ist, auf der wir die Daten weiter verarbeiten wollen.

Nach dem Tag ist noch folgendes einzutragen:

--- Code: HTML5 ----->
Dadurch entsteht die ursprüngliche Linkliste, nun wird dem Link das Modell angehangen.

Es gibt noch ein kleines Problem, aber darum kümmern wir uns im Anschluss.

Hans K.:
Auf der Seite, wo die Informationen verarbeitet werden sollen, geben wir nun in den Layout-Eigenschaften folgendes ein:


--- Code: PHP ---<?php if (isset($_GET['modell'])) {$Modell= $_GET['modell'];} else {$Modell= "";}?>
Im weiteren Verlauf kann nun mit $Modell die Modellbezeichnung weiter verarbeitet werden.

Hans K.:
Nun noch das kleine Problem, welches ich eben kurz angedeutet habe:

Unsere Modellbezeichnung lautet: BMW S 1000 RR
Leerzeichen im Link können durchaus Schwierigkeiten verursachen. Aus diesem Grunde müssen wir die Leerzeichen verhindern, bzw. ersetzen.

Das müssen wir durchführen, bevor die Modellbezeichnung dem Link angehangen wird.

Dieser Code wird ergänzt:

--- Code: PHP ---<?php while ($row = mysql_fetch_array($result)) {echo "<a href="./seite.php?modell=". $row["Modell"]. "">< /a>"; }?> <!--
Wir fügen den Befehl str_replace hinzu, welcher das Leerzeichen mit dem Pluszeichen ersetzt und passen den Link an:


--- Code: PHP ---<?php while ($row = mysql_fetch_array($result)) {$Link = str_replace(" ","+",$row["Modell"]);echo "<a href=\"./seite.php?modell=". $Link. "\">< /a>"; }?> <!--

Hans K.:
Nun wird der Link mit den ergänzten Zeichen an die zweite Seite übermittelt. Damit wir allerdings die korrekte Modellbezeichnung wieder verwenden können, müssen wir die zusätzlichen Zeichen wieder entfernen:


--- Code: PHP ---<?php if (isset($_GET['modell'])) {$Modell= $_GET['modell'];} else {$Modell= "";} $Modellalt = str_replace("+"," ",$Modell); ?>

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln