PHP 4.3

3.4.1 Textfelder mit der post-Methode

Um Ihnen auch zu zeigen, wie die Übertragung von Formulardaten mit der post-Methode funktioniert, wollen wir hier das Beispiel von eben noch einmal umformulieren. Nun werden die vom Benutzer eingetragenen Werte nicht als Teil des URL übertragen, sondern sind für ihn unsichtbar.

Die einzige Änderung, die im Formular vorgenommen werden muss, ist die Angabe der Methode post im Formularkopf.

Einkaufsformular: einkaufen.html
<html>

 <head>
  <title>Mein erstes Formular</title>
 </head>

 <body>

  Heute kosten alle Artikel 5,99 Euro<br><br>
  <form action="kaufen.php" method="post">
   <input type="Hidden" name="preis" value="5.99">
   Artikel <input type="Text" name="artikel">
   Menge <input type="Text" name="menge">
   <input type="Submit" name="submit" value="Kaufen">
  </form>

 </body>

</html> 

Wie bereits erwähnt, unterscheidet PHP zwischen Werten, die per get und per post übertragen werden. Im Auswertungsskript muss nun also auf das Array $HTTP_POST_VARS zugegriffen werden, statt des eben verwendeten $HTTP_GET_VARS. Falls Sie zum Testen Ihres Skripts die get-Methode verwendet haben und nun im praktischen Einsatz lieber post verwenden wollen, empfiehlt es sich, die Suchen-Ersetzen-Funktion Ihres Editors zu benutzen, um das Austauschen des Arrays zu erledigen.

Auswertung: kaufen.php
<html>

 <head>
  <title>Mein erstes Formular</title>
 </head>

 <body>

  <?php
    echo "Sie haben den Artikel <b>$HTTP_POST_VARS["artikel"]</b> $HTTP_POST_VARS["menge"]
    mal zum Gesamtpreis von " . ($HTTP_POST_VARS["menge"] * $HTTP_POST_VARS["preis"]) . " Euro gekauft.";
  ?>

 </body>

</html>

Die Browserausgabe sollte genau wie vorhin wie folgt aussehen:

Browserausgabe

  Sie haben den Artikel Freizeit 999 mal zum Gesamtpreis von 5984.01 Euro gekauft.
  

Kommentare (0)

Ihr Kommentar

Name