WML-Tutorial
[ Inhaltsverzeichnis ]WML
 Formulardaten senden
Formulardaten senden
Formulardaten zum Versand aufbereiten mit dem postfield-Tag
Daten senden mit dem go-Task
PHP-Skript empfängt die Daten


Formulardaten senden

Die eingegebenen Daten in einem Formular auf einer WAP-Seite sollen in der Regel auch weiter verarbeitet werden, z.B. durch ein PHP-Skript oder ein CGI-Skript, um Datenbankzugriffe oder Ähnliches durchzuführen.

Anhand des folgenden Beispiels wird die Arbeitsweise des Versendens von Formulardaten erläutert werden. Der Benutzer soll seinen Vornamen und Nachnamen in das jeweilige Eingabefeld eintragen, und hat dann die Möglichkeit diese Eingabe zu versenden.

Beispiel :


<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<card id="formular" title="Formular">

<p>
Vorname : <input type="text" name="vn"/> 
<br/>
Nachname : <input type="text" name="nn"/>
</p>

<p align="center">
<anchor>
  Senden
  <go href="sendform.php3" method="post">
    <postfield name="pfvn" value="$(vn)"/>
    <postfield name="pfnn" value="$(nn)"/>
  </go>
</anchor>
</p>

</card>
</wml>


Formulardaten zum Versand aufbereiten

mit dem postfield-Tag

Über das postfield-Tag <postfield/> können Variablen und deren Inhalte definiert werden, die mit Hilfe des go-Tags an eine URL übergeben werden.
Das postfield-Tag hat zum einen das Attribut name, mit dem der Name der Variablen festgelegt wird, die an eine URL übergeben wird. Zum anderen hat es das Attribut value, daß den Inhalt dieser Variablen setzt.

Beispiel :


<postfield name="VarName" value="VarWert"/>
	


Das postfield-Tag wird innerhalb des go-Tags / go-Tasks <go> und </go> eingebunden. Da der Variablenwert nicht statisch ist, sondern von der Benutzereingabe in einem Formularelement abhängig ist, muß der Inhalt der Variablen im Formularfeld dem Inhalt der Variablen im postfield-Tag zugewiesen werden.
Dies geschieht im postfield-Tag durch value="$(Name_der_Variablen_im_Formularfeld)".

Im obigen Beispiel steht ein Eingabefeld für den Vornamen zur Verfügung. Die Eingabe in diesem Eingabefeld wird in der Variablen 'vn' abgelegt. Um jetzt in einem postfield-Tag an den Inhalt dieser Variablen heranzukommen, muss dort value="$(vn)" stehen.



Formulardaten senden

mit dem go-Task

Mit Hilfe des go-Tasks können Variableninhalte an eine URL mit übergeben werden. Die Zieladresse wird über das Attribut href des go-Tags festgelegt und ist in dem obigen Beispiel 'sendform.php3'; ein PHP-Skript, daß die Formularauswertung/Formularverarbeitung übernehmen soll. Die HTTP-Übermittlungsmethode wird mit dem Attribut method festgelegt und ist hier 'post'.

Alle im go-Tag eingeschlossenen postfield-Tags, also die Variablen und deren Inhalte, werden bei der Ausführung des go-Tasks an die Zieladresse übergeben. Im Beispiel wären dies die Variablen 'pfvn' und 'pfnn' mit ihren Inhalten.



PHP-Script empfängt die Daten

Eine Auswertung / Weiterverarbeitung von Formulardaten kann z.B. durch ein PHP-Skript realisiert werden.


Beispiel :


<?php
echo "<?xml version=\"1.0\"?>";
echo "<!DOCTYPE wml PUBLIC \"-//WAPFORUM//DTD WML 1.1//EN\" \"http://www.wapforum.org/DTD/wml_1.1.xml\">";
echo "<wml>";
echo "<card id=\"sendform\" title=\"SendForm\">";
echo "<p>Hallo $pfvn $pfnn !!!</p>";
echo "</card>";
echo "</wml>";
?>

Erklärung :

Das obige PHP-Skript empfängt die Formulardaten und begrüßt den Benutzer mit ' Hallo Vorname Nachname !!!'. Über '$pfvn' und '$pfnn' kann im PHP-Skript auf die übergebenen Variablen aus dem Formular zugegriffen werden.