> Manuales > Programación en ASP

Cómo pasar variables a través de los formularios y obtener informaciones prácticas sobre el servidor o el cliente

Transferir variables por formulario

El proceso es similar al explicado para las URLs. Primeramente, presentamos una primera página con el formulario a rellenar y las variables son recogidas en una segunda página que las procesa:

<HTML>
<HEAD>
<TITLE>formulario.asp</TITLE>
</HEAD>
<BODY>
<FORM METHOD="POST" ACTION="destino2.asp">
Nombre<br>
<INPUT TYPE="TEXT" NAME="nombre"><br>
Apellidos<br>
<INPUT TYPE="TEXT" NAME="apellidos"><br>
<INPUT TYPE="SUBMIT">
</FORM>
</BODY>
</HTML>


<HTML>
<HEAD>
<TITLE>destino2.asp</TITLE>
</HEAD>
<BODY>
Variable nombre: <%=Request.Form("nombre")%><br>
Variable apellidos: <%=Request.Form("apellidos")%>
</BODY>
</HTML>


Si quieres ver el efecto que produce pincha aquí

Otras utilidades de Request: las ServerVariables

El objeto Request nos da acceso a otras informaciones relativas al cliente y el servidor las cuales pueden resultar de una gran utilidad. Estas informaciones son almacenadas como variables las cuales son agrupadas en una colección llamada ServerVariables.

Dentro de esta colección tenemos variables tan interesantes como:

HTTP_ACCEPT_LANGUAGE Nos informa de la lengua preferida por el navegador
HTTP_USER_AGENT Indica cuál es el navegador utilizado.
PATH_TRANSLATED Nos devuelve el path físico del disco duro del servidor en el que se encuentra nuestro script
SERVER_SOFTWARE Nos dice qué tipo de software utiliza el servidor


Para visualizar en pantalla alguna de estas variables, debemos escribir algo como:

Response.write request.servervariables("nombre de la variable")

Una forma rápida de visualizar todas estas variables es a partir de un script con esta secuencia:

<%
For Each elemento in Request.ServerVariables
   Response.Write elemento&" : "&Request.ServerVariables(elemento)& "<br>"
Next
%>


Esto nos daría por un lado el nombre de la variable y del otro su valor. Este tipo de bucle For Each/Next se parece a otros ya vistos. En este caso, el bucle se realiza tantas veces como elementos tiene la colección (ServerVariables) que no es más que el conjunto de elementos comprendidos en la extensión del objeto (Request). Este tipo de bucle es aplicable a otras colecciones de éste y otros objetos como por ejemplo los Request.Form o Request.Querystring o las cookies. De esta forma seríamos capaces de visualizar el nombre y contenido de tales colecciones sin necesidad de enunciarlas una por una.

Rubén Alvarez

Rubén es doctor en química y programador principalmente en sus ratos libres con...

Manual