USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Dicas

  ASP - Active Server Page    (Miscelâneas)

Título da Dica:  Request.Querystring( ) aprofundado
Postada em 27/10/2003 por ^HEAVY-METAL^            
O Request.QueryString é similar com o Request.Forme a sua definição formal é quase idêntica também :

Request.QueryString(elemento)[(index)|.Count]

Aquando de lidarmos com o objecto Request nós estamos a aceder a informação dado ou devolvida por um cliente. O acesso por QueryString é a informação que está a seguir ao URL na barra de endereço do browser. Para começar vamos ver um exemplo prático. Quando comecei a programar entrei num dilema : vou alterar o index da minha página por cada vez que existem novas sub-páginas, ou fazer algo para o fazer automáticamente ? Eu claro, escolhi o último. Aqui está como. Quase todo o link na minha página default.asp é composta da seguinte maneira.

verifica.asp?pagina=<nome da página aqui>

O script verifica.asp vai então validae se a página pedida existe, e se isso acontecer ele vai redireccionar a pessoa à mesma, senão para uma outra que tem o simbolo de estar em construção. O código é o seguinte:

-- verifica.asp --

<%
Response.Expires=0
pagina=Request.QueryString("pagina")
path = Server.MapPath(pagina)
Set fs = Server.CreateObject("Scripting.FileSystemObject")
If Not fs.FileExists(path) Then
Response.Redirect "construcao.asp"
Else
Response.Redirect pagina
End If
%>

-- Fim de página --

Response.expires=0 diz aos proxies e browsers para não fazer cache à página. A próxima linha é o foco deste artigo. Na mesma eu peço o nome da página dada pelo link na variável pagina. Então posso usar a mesma para o processo que vou fazer. Em particular eu faço um assign do path da path real do ficheiro usando o método Server.MapPath e então testar a existência do mesmo usando o objecto Scripting.FileSystemObject. Se a página existe então fazemos o Response.Redirect( que serve para redireccionamento ) para enviar o utilizador para o objectivo.

De volta ao Request.QueryString. Este método de passar a informação pode ser usada de duas maneiras, com dois objectivos diferentes em mente. Vimos o primeiro e vamos agora passar ao segundo. se já leu o meu artigo sobre o Request.Form, vai notar que existem dois formulários de fazer posting ao form.

<form name="nome_do_form" action="página_ou_cgi" method="post_ou_get">

Depois de dado o valor pelo método de atribuição, o browser vai passar toda a informação para o servidor para o link pedido, assim como nas headers de http. Para aceder a esta informação por ASP, tem de usar a colecção Request.QueryString da mesam maneira do Request.Form. Vamos então ver com mais algum detalhe.

<form method="get">
Your name<input type="text" name="name"><br>
Your age<select name="age">
<option value="0">Under 18</option>
<option value="1">Between 18 and 23</option>
<option value="2">Between 24 and 45</option>
<option value="3">Older than 45</option>
</select>
</form>

Este pequeno formulário de HMTL é a base da nossa discussão. Vamos dizer que temos um script que aceita o nosso form. E que queremos que a informação recolhida do user para variáveis. Então o código será :

<%
name=Request.QueryString("name")
age_classe=Request.QueryString("age")

%><html>
<head>
<title>QueryString Example</title>
</head>
<body>
your name:<%=name%><br>
You are aged <%
Select Case age_classe
Case 0
Response.Write "under 18 years."
Case 1
Response.Write "between 19 and 23 years."
Case 2
Response.Write "between 24 and 45 years."
Case 3
Response.Write " more than 45 years."
End Select
%>
</body>
</html>


T+,
 


CyberWEB Network Ltda.    © Copyright 2000-2018   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página