next up previous contents
Next: La etiqueta FORM Up: Programación en WWW usando Previous: Los scripts Gestionando Datos   Índice General

Formularios HTML

Los formularios añaden una dimensión nueva a las páginas HTML, ya que éstas pueden ser más o menos sofisticadas, pero sin los formularios son de sólo lectura.

Un formulario es una interfaz gráfica de usuario, GUI, que permite la inclusión de botones de diferentes tipos, areas de texto, listas de selección, etc. Cuando se escribe un elemento del formulario, cada uno de ellos tiene un par de atributos: NAME y VALUE, de modo que cuando el usuario pone información en ese elemento del formulario, esa información se asocia al nombre del elemento. Los elementos pueden tener valores iniciales.

Cuando el usuario presiona un botón indicando que el formulario debe ser enviado, submitted, la información en el formulario es mandada al servidor para ser procesada por un script CGI. Los datos se envian como pares nombre=valor, separados por ampersands, $\&$, donde nombre es el dado en el atributo NAME y el valor es el dado en el atributo VALUE o el dado por el usuario. Cada par nombre=valor se codifica según el modo URL, esto es, los espacios en blanco se sustituyen por mases, $+$, y los caracteres no alfanuméricos son sustituidos por sus códigos hexadecimales, $\%hh$. En el siguiente ejemplo se puede ver el caso de la codificación URL de la información obtenida en un formulario en el que se han introducido el nombre y los apellidos del usuario Pepe Pérez Pardo:

nombre=Pepe&apellidos=P%e9rez+Pardo

La primera parte del procesamiento de la información del formulario por parte del script CGI será romper la secuencia de datos en por los ampersands, y luego cada par nombre=valor deberá ser decodificado. En C, lo más habitual es colocar cada par nombre=valor como elementos de un par de arrays paralelos de cadenas de caracteres.



Subsecciones
next up previous contents
Next: La etiqueta FORM Up: Programación en WWW usando Previous: Los scripts Gestionando Datos   Índice General
Jesús Vegas 2003-03-13