Prefacio L1 L2 L3 L4 L5 L6 L7 L8 Apéndices

7.5 ACTION

En los epígrafes anteriores creamos un formulario con una caja de texto para capturar el userid del usuario, una caja de texto del tipo password para capturar la contraseña del usuario, un botón tipo submit para enviar la data al servidor y un botón tipo reset para retornar todos los campos a sus valores por omisión. Para que los datos colectados por el formulario puedan ser enviados al servidor es necesario programar la dirección del (servidor) destinatario, el como se enviaran los datos y en que formato se hará esto. Las propiedades ACTION, METHOD y ENCTYPE del tag FORM permiten realizar esta programación.

En rigor, la propiedad ACTION del tag FORM indica no solamente la dirección del servidor que procesará la data, sino el URL del CGI script que hará esto.

Por ejemplo:

<FORM ACTION="http://www.correoelectronico.com/cgi/mailer">

indica que la data será procesada por el CGI script llamado mailer, que está dentro del directorio cgi del servidor del sitio web correoelectronico (tenga presente que este URL es ficticio).

Incidentalmente: por el gran volumen del trafico generado por el servicio de correo electrónico, el CGI que lo maneja suele estar alojado en un servidor completamente dedicado a ello y llamado mailserver.

La propiedad METHOD del tag FORM controla la manera en que el navegador enviará la data al servidor que corre el CGI script. Su sintaxis es:

<FORM METHOD=tipo>

donde tipo puede tomar los valores GET o POST. La distinción entre ambos valores es de interés para los especialistas en transmisión de datos. En términos generales, GET envía toda la data agregándola al final del URL especificado en ACTION y el servidor destinatario la convierte en una cadena de caracteres, mientras que POST envia la data en paquete propio, permitiendo que el servidor destinatario los reciba como "standard input". GET es el tipo por omisión, aunque los webmasters prefieren POST por ser más flexible y seguro, sobre todo si la data es relativamente larga.

La propiedad ENCTYPE del tag FORM determina el formato en que se enviará la data. Este es un asunto técnico bastante complejo que no será tratado aquí. Por omisión ENCTYPE asume el valor "applicatio/x-www-form-urlencoded". Si Ud. no incluye esta propiedad en el tag <FORM> de su página, el servidor asume el valor por omisión.

Para completar el formulario que estamos desarrollando solo es necesario entonces incluir la propiedad ACTION al tag FORM.

<HTML>
<HEAD>
<TITLE>CIE</TITLE>
</HEAD>

<BODY>


<FORM  ACTION="http://www.correoelectronico.com/cgi/mailer">
 <table width="249" border="0" cellspacing="2" cellpadding="2" bgcolor="#333333">
 <tr> 
  <td width=33% bgcolor="#999999"><b>Usuario:</b></td>
  <td colspan="2" bgcolor="#999999"><INPUT NAME=userid SIZE=20 MAXLENGTH=8></td>
 </tr>
 <tr> 
  <td bgcolor="#999999"><b>Contraseña:</b></td>
  <td colspan="2" bgcolor="#999999"><INPUT TYPE=password NAME=password SIZE=20 MAXLENGTH=8></td>
 </tr>
 <tr bgcolor="#FFFFFF" align="right"> 
  <td colspan="3"><INPUT TYPE=SUBMIT VALUE="Entrar"><INPUT TYPE=RESET VALUE="Limpiar"></td>
 </tr>
</table>
</FORM>

</BODY>

</HTML>

Al omitirse las propiedades METHOD y ENCTYPE el servidor destinatario asume los valores GET y "applicatio/x-www-form-urlencoded" respectivamente. En nuestro caso GET es apropiado, pues la data a enviar es corta.

Como vimos en el epígrafe 7.2 es posible utilizar otros elementos en un formulario.

Por ejemplo, en el formulario que abajo se muestra se cuatro diferentes elementos además de cajas de texto.

Los procedimientos para programar estos elementos son similares a los que ya hemos estudiado. Sugerimos al estudiante interesado en ampliar sus conocimientos visitar el tutorial que puede encontrar en http://www.2kweb.net/html-tutorial/forms/index.html.

| Lección 7 | 7.1 | 7.2 | 7.3 | 7.4 | 7.5 |