Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Una vez terminada la captura de datos, estos forman un registro que es enviado a un
servidor http (web) que lo procesar y devolver una respuesta (o no). Pueden utilizarse
tambin para enviar su contenido a una direccin de correo electrnico, o que
simplemente abran otra pgina.
Si el formulario se disea para abrir una pgina o para ser enviado por e-mail, todo se
reduce a escribir HTML, pero la cosa se complica cuando se trata de transacciones de
datos que hay que guardar en un servidor (comercio electrnico). En este caso, en el
servidor tiene que haber un programa especial, creado especficamente para ese
formulario, que reciba los datos y sepa qu hacer con ellos, procesarlos y confeccionar
la respuesta que remitir al navegador. A esa respuesta se le denomina documento
virtual ya que esa pgina no est escrita en ninguna parte; es generada, enviada y
destruida.
A los programas que hacen de puente entre el formulario y el servidor, se les llama
programas CGI (Common Gateway Interface) y no hay que confundirlos con las
pginas dinmicas escritas en ASP o PHP, aunque se parecen mucho.
Los programas CGI pueden estar escritos en cualquier lenguaje de programacin que
sea soportado por el sistema operativo del servidor, y pueden estar diseados para
cualquier funcin: desde una simple captura de datos que sern guardados en un fichero,
hasta la ms sofisticada consulta a una base de datos.
Cmo es un CGI?
SERVER_SOFTWARE
SERVER_NAME
GATEWAY_INTERFACE
SERVER_PROTOCOL
SERVER_PORT
REQUEST_METHOD
HTTP_ACCEPT
PATH_INFO
PATH_TRANSLATED
SCRIPT_NAME
QUERY_STRING
REMOTE_HOST
REMOTE_ADDR
REMOTE_USER
REMOTE_IDENT
AUTH_TYPE
CONTENT_TYPE
CONTENT_LENGTH
HTTP_USER_AGENT
HOME
HTTP_FROM
HTTP_REFERER
REFERER_URL
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
$SERVER_SOFTWARE
$SERVER_NAME
$GATEWAY_INTERFACE
$SERVER_PROTOCOL
$SERVER_PORT
$REQUEST_METHOD
$HTTP_ACCEPT
$PATH_INFO
$PATH_TRANSLATED
$SCRIPT_NAME
$QUERY_STRING
$REMOTE_HOST
$REMOTE_ADDR
$REMOTE_USER
$REMOTE_IDENT
$AUTH_TYPE
$CONTENT_TYPE
$CONTENT_LENGTH
$HTTP_USER_AGENT
$HOME
$HTTP_FROM
$HTTP_REFERER
$REFERER_URL
LA INPUT:
exit 0
else
echo NO VIENE NADA POR LA INPUT
exit 0
fi
Fjate que las palabras aparecen separadas por el signo + y no por espacios como hemos
escrito. Si adems hubiramos escrito algn carcter especial, no se vera como tal, sino
su valor en hexadecimal precedido del carcter %. Por ejemplo, el cracter & es
transferido como %26. Esta conversin se hace para no confundirlo con el separador de
campos, que como puedes ver es el mismo smbolo. El signo = despus del nombre del
campo, tambin lo pone el visualizador.
Todo esto y algunas cosas ms (que habr que ver en la documentacin de referencia)
han de tenerse presentes a la hora de realizar programas CGI. Para terminarlo de
complicar, no todos los visualizadores utilizan la misma forma de enviar los datos
recibidos, por lo que se plantea a menudo la necesidad de decidir para qu visualizador
queremos programar nuestro WEB.
Los programas de test, como el del ejemplo, son muy tiles cuando se estn diseando
formularios, ya que permiten comprobar de forma real su funcionamiento y analizar el
registro que envan, cosa imprescindible para poder programar el correspondiente CGI.
Intenta hacer uno a tu medida, o simplemente copia ste, instlalo en tu servidor http, (si
no tienes acceso, pide a tu administrador de sistema que lo haga), empieza a probar... y
buena suerte.