Deutschsprachiges NOF - Forum

Support und Tutorials rund um das Thema NetObjects Fusion

collapse

* Wichtige Mitglieder-Information

Da immer noch Mails verwunderter "Mitglieder" bei mir ankommen, weil Login und Registrierung nicht funktionieren... das Forum ist seit geraumer Zeit geschlossen und steht ausschließlich als Nachschlagewerk zur Verfügung. Einerseits bin ich froh, diesen Schritt gewagt zu haben... auf der anderen Seite... wenn ich hier manchmal so lese... es war doch "'ne geile Zeit" mit euch! Macht's gut!

Beste Grüße nettesekel

* Friendship

DER Katzenblog – mit tollen Tipps und Ideen für deine Katze(n) <3

Die letzten Beiträge

Autor Thema: PHP -> Die GET-Methode (Daten per Link an eine andere Seite übergeben)  (Gelesen 1618 mal)

0 Mitglieder und 1 Gast betrachten dieses Thema.

Hans K.

  • Gast
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.

  • Gast
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
  1. <?php
  2. include("./html/datenbank.php");
  3.  
  4. $sql="SELECT ID, Modell FROM Moped";
  5. $result = mysql_query($sql);
  6.  
  7. ?>

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
  1. <?php
  2.  
  3. while ($row = mysql_fetch_array($result)) {
  4. echo "<a href=\"./seite.php?modell=". $row["Modell"]. "\">< /a>";
  5.  
  6. }
  7. ?>
  8.  
  9. <!--

Wobei seite.php die Seite ist, auf der wir die Daten weiter verarbeiten wollen.

Nach dem Tag ist noch folgendes einzutragen:
Code: HTML5
  1. -->

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.
« Letzte Änderung: 11. April 2013, 21:46:11 von Hans K. »

Hans K.

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

Code: PHP
  1. <?php
  2.  
  3. if (isset($_GET['modell'])) {
  4. $Modell= $_GET['modell'];
  5. } else {
  6. $Modell= "";
  7. }
  8. ?>

Im weiteren Verlauf kann nun mit $Modell die Modellbezeichnung weiter verarbeitet werden.
« Letzte Änderung: 11. April 2013, 21:53:52 von Hans K. »

Hans K.

  • Gast
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
  1. <?php
  2.  
  3. while ($row = mysql_fetch_array($result)) {
  4. echo "<a href="./seite.php?modell=". $row["Modell"]. "">< /a>";
  5.  
  6. }
  7. ?>
  8.  
  9. <!--

Wir fügen den Befehl str_replace hinzu, welcher das Leerzeichen mit dem Pluszeichen ersetzt und passen den Link an:

Code: PHP
  1. <?php
  2.  
  3. while ($row = mysql_fetch_array($result)) {
  4. $Link = str_replace(" ","+",$row["Modell"]);
  5. echo "<a href=\"./seite.php?modell=". $Link. "\">< /a>";
  6.  
  7. }
  8. ?>
  9.  
  10. <!--
« Letzte Änderung: 12. April 2013, 18:05:35 von Hans K. »

Hans K.

  • Gast
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
  1. <?php
  2.  
  3. if (isset($_GET['modell'])) {
  4. $Modell= $_GET['modell'];
  5. } else {
  6. $Modell= "";
  7. }
  8.  
  9. $Modellalt = str_replace("+"," ",$Modell);
  10.  
  11. ?>
« Letzte Änderung: 11. April 2013, 21:54:47 von Hans K. »

Hans K.

  • Gast
Das war es auch schon. Nun kann $Modellalt weiter verarbeitet werden.

Deutschsprachiges NOF - Forum

Support und Tutorials rund um das Thema NetObjects Fusion