Ir para conteúdo

POWERED BY:

Arquivado

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

Patrique

[Resolvido] Recuperar url anterior no site

Recommended Posts

Fala ae galera beleza,

 

Galera como eu faço para recuperar a url anterior visitada no meu site, tentei utilizar http_referer

 

Request.ServerVariables("HTTP_REFERER")

Mais não funfou, ele so retorna a ultima url de um site que me indicar, na verdade eu queria retornar a url anterior.

 

desde já agradeço,

Patrique

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu em particular fiz um POG para isso, coloquei a URL completa do meu site em sessão, e passava de página por página atualizando essa sessão, sem trabalho nenhum, quando meu sistema caía eu resgatava o valor da sessão, no caso a última página que foi usada, essa idéia pode servir para você, acho que outros usuários podem ter experiência maior com isso, pelo fato de quase nunca usar, desconheço outra forma!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não considero POG. Também utilizo assim.

 

Se existisse outra forma ai sim seria POG... rs

Compartilhar este post


Link para o post
Compartilhar em outros sites

nao entendi exatamente o que e como quer patrique

 

o referer recupera a pagina anterior sim mas somente se voce chegar ao seu site atraves de um link na pagina anterior

 

como esta fazendo e o que realmente deseja?

Compartilhar este post


Link para o post
Compartilhar em outros sites

com o HTTP_REFERER, você obtem a URL que o usuário veio de antes da sua página web !!!

agora como o Mário, disse , se ele digitar diretamente, você nao consegue recuperar,você até pode até fazer assim, para ver se não veu do dominio ou veu em branco,você pode bloquear , ou exibir uma mensagem para o user

 

<% 

IF Request.ServerVariables("HTTP_REFERER") <> Request.ServerVariables("SERVER_NAME") 
and Request.ServerVariables("HTTP_REFERER") = "" THEN 
response.redirect("sua_pag_blokeada") 
ELSE%> 
aki seu codigo<%End IF%>

Existem muitas razões que conhecer a página anterior.

 

* Você ter certeza de que uma página de agradecimento, graças a pessoa com base naquilo que eles compraram produto.

 

* Você garantir que uma página paypal provinha do website.

 

* Se alguém tenta 'leap' para uma fase final de página diretamente, você pode dar um Response.Redirect no usuário de volta ao ponto de partida.

 

entre outras

Compartilhar este post


Link para o post
Compartilhar em outros sites

No meu caso eu utilizarei para um sistema de login, tipo.... em todas as páginas vão conter um link assim

 

Logar ao clicar neste link o usuarios será redirecionado para a page http://www.meusite.com.br/login

 

Dai quando o usuário efetuar o login nesta página e o sistema verificar e autorizar o login eu gostaria que ele fosse encaminhado para página anterior no qual ele havia clicado no link, como eu disse este link login ira ficar em qualquer página.

 

Eu poderia fazer um link da seguinte forma

 

http://www.meusite.com.br/login/?url=http:...com.br/contatos

 

Neste caso quando o usuário efetuasse o login na page login o sistema no final iria retornar o usuário já logado para a pagina contatos do meu site.

 

O que eu não quero é fazer a url desta maneira eu gostaria de algo mais simpatico sem requisição via querystring.

 

Por isso havia pensado em HTTP_REFERER so que eu tentei aqui e não funfoi coloquei a requisição na page principal dae o usuário foi redirecionado para a page login chegando lá eu loguei e o sistema não redirecionou, ele reconheceu e deu um atualizar na page.

 

Eu utilizei response.redirect(Request.ServerVariables("HTTP_REFERER") )

 

Mais pode ser que eu tenha errado em alguma coisa aqui heheeheh na hora não verifiquei isso, pensei que esta função era para resgatar url referenciadas por outros links.

 

Mais vou tentar aqui mais ou menos no exemplo que o Xam postou, se não der certo farei utilizando POG mesmo, inclusive já havia pensado nisso porém acreditava que tivesse alguma função.

 

Farei os testes aqui e logo logo posto o resultado.

 

Novamente obrigado galera!

 

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Usa o HTTP_REFERER, para pegar a pagina anterior e para não ter problema do user tentar uma pagina em branco ou vir de outro site, mas como te falei.

Senaun podemos ajudá-lo nas POG´s da vida, a cada POG vem uma melhor k outra, hehehe

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tentei aqui com o HTTP_REFERER mais não funfou, eu saido da index através de um link e vou até o login e la uso o HTTP_REFERER mais o sistema logo e se mantem na login.

 

Terei que fazer POG vai ser o jeito.

 

Vou fazer alguma coisa aqui e depois posto para você avaliarem se é válido ou não.

 

Atualizado

 

Pronto galera, fiz minha POG heheehehe

 

Ta ae

 

Function PageAnterior(pageatual)

If pageatual = "/login/index.asp" or pageatual = "/login/" then

acaologado = "/"

else

Session("ultimapage") = pageatual

acaologado = Session("ultimapage")

End If

End Function

Eu tenho um include conn de conexao este include vai em todas as pages do site, com isso eu criei esta POG function que vai neste include, e coloco a chamativa da função na linha após a confirmação do login, com isso o sistema verifica e me manda para a page anterior, sendo que se eu estiver na page login ele reconhece e me joga nesta mesma page.

 

Na minha page login.asp quando o sistema verifica que o login é valido eu coloco o seguinte comando para chamar a function

 

Call PageAnterior(Request.ServerVariables("PATH_INFO"))

E com isso me redireciona para o local correto.

 

É isso, alguém ae tem alguma sugestão válida ou melhor?

 

No mais, tópico resolvido!

 

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

fico feliz que tenha encontrado uma solucao mas creio que deveria entender o que nao funcionou com referer que seria a solucao digamos mais correta

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então Mario, acredito que o referer so recupera as urls externas ou seja que não faça parte do dominio no qual esta se fazendo a requisição, ou talvez pode ser porque eu estava testando em localhost... não sei.

 

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

nao é so externa nao

 

mas é de alguma pagina que foi a origem para uma de seu site atraves de um link

 

deve ter alguma particularidade no seu caso que voce nao deve esta conseguindo expressar mas tudo bem entao

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olha que estranho, fui fazer o teste aqui e olha o que aconteceu.

 

Após a verificação que o usuário existia e da criação das sessions do cadastro eu efetuava o redirecionamento da página anterrior através da função response redirect desta maneira

 

Response.Redirect(Request.ServerVariables("HTTP_REFERER"))

Dai fiquei encabulado e testei com response.write para mostrar na page e para minha surpresa ele mostrou, então o problema esta no response.redirect por alguma forma ele não esta redirecionando o referer.

 

Agora não entendi? so pode ser um bug na linguagem, acredito que o parametro redirect não consiga carregar o request ou talves o servervariables.

 

Alguém ae tem alguma idéia?

 

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

tambem nao faz sentido

 

experiemente armazenar em uma variavel antes

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ops, agora vi o que esta acontecendo, note.

 

Eu tenho a page login.asp e nela tem o campos imput de email e senha, o usuário efetua o login nestes campos e aperta o bot para executar o form, com isso a pagina é atualizada e volta novamente para a login/index para fazer a requisição dos dados e efetuar a verificação, com isso é óbvio que ela vai reconhecer o referer da anterior que era justamente a mesma da atual heheheheheheheh

 

Não tinha me ligado nisso, mais para evitar isso farei o login em ajax pois não vai dar atualização na page.

 

Bom é isso, heheehe vacilo meu! foi malz.

 

Obrigado pela ajuda.

 

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

pode manter o sistema de login como estava, e na pagina do login basta você nao gravar a url

assim você nao substitui a url anterior

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acabei fazendo em ajax mesmoa desisto é mais prático e relativamente mais rápido, mais caso preciso utilizarei este método que você citou.

 

Obrigado cara!

 

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Agora ta explicado pois como disse nao estava fazendo sentido

 

Que bom que solucionou e entendeu

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Heheehe graças a sua insistencia heeheeheh eu fui ver o que estava acontecendo!! pois se não fosse isso eu teria feito na gambiarra mesmo hauuaaauaahuuhauhauah

 

Novamente obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

tranquilo patrique

 

precisando estamos por aqui

 

abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acabei fazendo em ajax mesmoa desisto é mais prático e relativamente mais rápido, mais caso preciso utilizarei este método que você citou.

 

Obrigado cara!

 

[]'s

você esta fazendo passando por get ou post?

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.