Como passar variáveis através dos formulários e obter mais informações práticas sobre o servidor ou o cliente.Por Rubén Alvarez
Publicado em: 06/12/04
Transferir variáveis por formulário
O processo é similar ao explicado para as URLs. Primeiramente, apresentamos uma primeira página com o formulário a preencher e as variáveis são recolhidas em uma segunda página que as processa:
<HTML>
<HEAD>
<TITLE>formulario.asp</TITLE>
</HEAD>
<BODY>
<FORM METHOD="POST" ACTION="destino2.asp">
Nome<br>
<INPUT TYPE="TEXT" NAME="nome"><br>
Sobrenome<br>
<INPUT TYPE="TEXT" NAME="sobrenome"><br>
<INPUT TYPE="SUBMIT">
</FORM>
</BODY>
</HTML>
<HTML>
<HEAD>
<TITLE>destino2.asp</TITLE>
</HEAD>
<BODY>
Variável nome: <%=Request.Form("nome")%><br>
Variável sobrenome: <%=Request.Form("sobrenome")%>
</BODY>
</HTML> |
Se quiser ver o efeito que produz
clique aqui.
Outras utilidades de Request: as ServerVariables
O objeto Request nos dá acesso a outras informações relativas ao cliente e ao servidor, as quais podem ser de uma grande utilidade. Estas informações são armazenadas como variáveis as quais são agrupadas em uma coleção chamada ServerVariables.
Dentro desta coleção temos variáveis tão interessantes como:
| HTTP_ACCEPT_LANGUAGE |
Informa a língua preferida pelo navegador |
| HTTP_USER_AGENT |
Indica qual é o navegador utilizado. |
| PATH_TRANSLATED |
Devolve o path físico do disco rígido do servidor no qual se encontra nosso script |
| SERVER_SOFTWARE |
Diz que tipo de software utiliza o servidor |
Para visualizar na tela algumas dessas variáveis, devemos escrever algo como:
Response.write request.servervariables("nome da variável")
Uma forma rápida de visualizar todas estas variáveis é a partir de um script com esta seqüência:
<%
For Each elemento in Request.ServerVariables
Response.Write elemento&" : "&Request.ServerVariables(elemento)& "<br>"
Next
%> |
Isto nos daria por um lado o nome da variável e do outro o seu valor. Este tipo de loop For Each/Next se parece a outros já vistos. Neste caso, o loop se realiza tantas vezes como elementos que tiver a coleção (ServerVariables) que não é mais que o conjunto de elementos compreendidos na extensão do objeto (Request). Este tipo de loop é aplicável a outras coleções deste e de outros objetos como, por exemplo, os Request.Form ou Request.Querystring ou as cookies. Desta forma seríamos capazes de visualizar o nome e o conteúdo de tais coleções sem a necessidade de enuncia-las uma por uma.