Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Leandro D.

[Resolvido] Passar informações sem mostra na barra de endereço

Recommended Posts

Olha pessoal! Notei uma coisa ontem ao testar algumas páginas e fiquei com uma dúvida. Há alguma forma de esconder as informações passadas de uma formulário para outra página. Tipo quando eu digito meu nome e senha e envio para a página auth.asp, aparece na barra de endereço desta forma.

http://localhost/Intranet/auth.asp?user=lee&pass=leehp

Tem como ocultar isto sem ter que usar de frames ou iframes? Eu já cheguei a ver páginas (não me lembro o site) que aparece assim quando enviamos informações por formulário.

http://www.site.com.br/auth.asp?action=login

Não aparece os valores.

Desde já obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então cara, na verdade pra recuperar o formulário a última coisa que todos aqui usariam acredito eu seja querystring.

Geralmente em autenticação simples usa-se Session. Esse action=login na verdade não está escondendo nada, provavelmente é apenas um parametro.

 

Por exemplo, seu login é: user, senha: 1234

Quando você digitar no form e enviar, a outra página irá capturar desta forma por exemplo:

 

Na página login.asp você tem:

 

<form action="auth.asp" method="post">
<input type="text" name="campo_usuario">
<input type="password" name="campo_senha">
</form>

 

Já na página auth.asp você recupera o form:

 

Session("admin") = Request.Form("campo_usuario")
Session("senha") = Request.Form("campo_senha")

 

Veja que não passa nada na url.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então cara, na verdade pra recuperar o formulário a última coisa que todos aqui usariam acredito eu seja querystring.

Geralmente em autenticação simples usa-se Session. Esse action=login na verdade não está escondendo nada, provavelmente é apenas um parametro.

 

Por exemplo, seu login é: user, senha: 1234

Quando você digitar no form e enviar, a outra página irá capturar desta forma por exemplo:

 

Na página login.asp você tem:

 

<form action="auth.asp" method="post">
<input type="text" name="campo_usuario">
<input type="password" name="campo_senha">
</form>

 

Já na página auth.asp você recupera o form:

 

Session("admin") = Request.Form("campo_usuario")
Session("senha") = Request.Form("campo_senha")

 

Veja que não passa nada na url.

 

Felipe, como você disse eu uso Request.Querystring pois uso o método GET. Quer dizer que se eu usar POST não aparece os valores na url?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Exato. Faz um testezinho simples, cria um form method post com apenas um campo. Envia pra outra página e recupera nela por Request.Form pra você ver ..

 

pag1.asp

pag2.asp

 

Na pag1.asp

<form action="pag2.asp" method="post">
<input type="text" name="teste">
<input type="submit" value="Enviar">
</form>

 

Na pag2.asp

variavel = Request.Form("teste")
Response.Write variavel

Compartilhar este post


Link para o post
Compartilhar em outros sites

Exato. Faz um testezinho simples, cria um form method post com apenas um campo. Envia pra outra página e recupera nela por Request.Form pra você ver ..

 

pag1.asp

pag2.asp

 

Na pag1.asp

<form action="pag2.asp" method="post">
<input type="text" name="teste">
<input type="submit" value="Enviar">
</form>

 

Na pag2.asp

variavel = Request.Form("teste")
Response.Write variavel

Felipe, eu fiz um teste nos arquivos de login que tenho aqui. Coloquei um response.end antes do response.redirect para verificar a url e realmente não aparece os valores, só a página em questão (auth.asp). Porém fiz um teste em uma outra página minha que passo os valores via link.

<a href=”http://localhost/Intranet/produtos.asp?cat=engrenagens&tipo=interna”>Engrenagens Internas</a>

Neste caso o request.form não funcionou, só funciona com request.querystring. Você tem alguma idéia para este caso ou para este tipo de aplicação tem que ser assim mesmo. Lembrando que a minha intenção é esconder os valores na url.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ah sim, o Request.Form é apenas pra recuperar formulários. No caso de links você poderia fazer:

 

<a href=”http://localhost/Intranet/produtos.asp?cat=1&tipo=2”>Engrenagens Internas</a>

 

E na página de destino usar tipo:

 

If Request("cat") = 1 Then
categoria = "Engrenagens"
ElseIf Request("cat") = 2 Then
categoria = "Ferramentas"
End If

 

Ou você quer esconder TUDO ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ah sim, o Request.Form é apenas pra recuperar formulários. No caso de links você poderia fazer:

 

<a href=”http://localhost/Intranet/produtos.asp?cat=1&tipo=2”>Engrenagens Internas</a>

 

E na página de destino usar tipo:

 

If Request("cat") = 1 Then
categoria = "Engrenagens"
ElseIf Request("cat") = 2 Then
categoria = "Ferramentas"
End If

 

Ou você quer esconder TUDO ?

A idéia de usar números para definir a categoria e esconder as informações reais é uma boa idéia. Mas se tivesse de esconder tudo teria como?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você poderia usar frames,que eu acho meio porco, ou fazer via ajax.

 

Caso queira usar frames você deve saber como faz:

 

<iframe name="teste" id="teste"></iframe>

<a href="pagina_atual.asp?cat=engrenagens&tipo=interna" target="teste">Vai!</a>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você poderia usar frames,que eu acho meio porco, ou fazer via ajax.

 

Caso queira usar frames você deve saber como faz:

 

<iframe name="teste" id="teste"></iframe>

<a href="pagina_atual.asp?cat=engrenagens&tipo=interna" target="teste">Vai!</a>

Realmente frames é meio "gambiarra", eu teria de reestruturar todo meu layout, descarto esta opção. Você tem algum exemplo de ajax para me passar? Se não eu deixo do jeito que tá e utilizo a sua idéia de usar números como id.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara eu não manjo muito de ajax. Geralmente eu uso pra chamar outra página na página atual sem precisar recarregar.

 

Mas tem um jeitinho brasileiro rsrs

 

Na página que lista as categorias, você pode fazer por exemplo:

 

<a href="paginadestino.asp?cat=engrenagens">Engrenagens</a>

 

Na página de destino você faz mais ou menos isso:

<%
If Request("cat") <> "" Then
Session("categoria") = Request("cat")
Response.Redirect("paginadestino.asp")
Else
Response.Write Session("categoria") 'Aqui a url já está limpa, porém a Session está carregada com o valor. Agora você faz o que você quiser, um select filtrando, sei la ..'
End If
%>

 

Resumindo ele vai direcionar para a página de destino e você vai armazenar a querystring em uma Session. Depois irá direcionar para a mesma página porém com a url limpa e a Session possuindo o valor da querystring "cat". O cliente nem vai ver, pois o redirecionamento é bem rápido.

 

Entendeu ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara eu não manjo muito de ajax. Geralmente eu uso pra chamar outra página na página atual sem precisar recarregar.

 

Mas tem um jeitinho brasileiro rsrs

 

Na página que lista as categorias, você pode fazer por exemplo:

 

<a href="paginadestino.asp?cat=engrenagens">Engrenagens</a>

 

Na página de destino você faz mais ou menos isso:

<%
If Request("cat") <> "" Then
Session("categoria") = Request("cat")
Response.Redirect("paginadestino.asp")
Else
Response.Write Session("categoria") 'Aqui a url já está limpa, porém a Session está carregada com o valor. Agora você faz o que você quiser, um select filtrando, sei la ..'
End If
%>

 

Resumindo ele vai direcionar para a página de destino e você vai armazenar a querystring em uma Session. Depois irá direcionar para a mesma página porém com a url limpa e a Session possuindo o valor da querystring "cat". O cliente nem vai ver, pois o redirecionamento é bem rápido.

 

Entendeu ?

Beleza Felipe! Irei testar mais tarde, tenho que trabalhar um pouco agora rsrsrs, depois eu posto o resultado, se der, manda este exemplo de carregar página com ajax no meu email, o endereço é leandro@clune.com.br. Até mais.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Resolvido! :joia:

 

Onde deu para usar POST eu usei, nos links eu usei o exemplo de redirect com session que o Felipe passou e deu certo, realmente o redirect é rápido e não dá tempo de ver nada. Valeu pela ajuda.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.