WML: enviar datos al servidor
Muchas veces, querrá que sus usuarios envíen algunos datos a su servidor. Similar al formulario HTML, WML también proporciona un mecanismo para enviar datos de usuario al servidor web.
Para enviar datos al servidor en WML, necesita las etiquetas <go> ... </go> junto con <postfield />. La etiqueta <postfield /> debe incluirse en el par de etiquetas <go> ... </go>.
Para enviar datos a un servidor, recopilamos todas las variables WML establecidas y usamos elementos <postfield> para enviarlas al servidor. Los elementos <go> ... </go> se utilizan para establecer el método de publicación en POST o GET y para especificar un script del lado del servidor para manejar los datos cargados.
En capítulos anteriores, hemos explicado varias formas de tomar aportaciones de los usuarios. Estos elementos de entrada establecen las variables WML en los valores ingresados. También sabemos cómo tomar valores de variables WML. Así que ahora el siguiente ejemplo muestra cómo enviar tres campos de nombre, edad y sexo al servidor.
<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.2//EN"
"http://www.wapforum.org/DTD/wml12.dtd">
<wml>
<card id="card1" title="WML Form">
<p>
Name: <input name="name" size="12"/>
Sex : <select name="sex">
<option value="male">Male</option>
<option value="female">Female</option>
</select>
Age : <input name="age" size="12" format="*N"/>
<anchor>
<go method="get" href="process.php">
<postfield name="name" value="$(name)"/>
<postfield name="age" value="$(age)"/>
<postfield name="sex" value="$(sex)"/>
</go>
Submit Data
</anchor>
</p>
</card>
</wml>
Cuando descargue el código anterior en su dispositivo WAP, le proporcionará la opción de ingresar tres campos de nombre, edad y sexo y un enlace Enviar datos . Ingresará tres campos y finalmente seleccionará el enlace Enviar datos para enviar los datos ingresados al servidor.
El atributo de método de la etiqueta <go> especifica qué método HTTP debe usarse para enviar los datos del formulario.
Si se utiliza el método HTTP POST, los datos del formulario que se enviarán se colocarán en el cuerpo del mensaje de la solicitud. Si se utiliza el método HTTP GET, los datos del formulario que se enviarán se agregarán a la URL. Dado que una URL solo puede contener un número limitado de caracteres, el método GET tiene la desventaja de que existe un límite de tamaño para los datos que se envían. Si los datos del usuario contienen caracteres que no son ASCII, debe utilizar el método POST para evitar problemas de codificación.
Existe una gran diferencia entre HTML y WML. En HTML, el atributo de nombre de las etiquetas <input> y <select> se usa para especificar el nombre del parámetro que se enviará, mientras que en WML el atributo de nombre de la etiqueta <postfield> se usa para hacer lo mismo. En WML, el atributo de nombre de <input> y <select> se usa para especificar el nombre de la variable para almacenar los datos del formulario.
El próximo capítulo le enseñará cómo manejar los datos cargados en el servidor.