Ir para conteúdo

POWERED BY:

Arquivado

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

pedrovisk

[Resolvido] Recuperar última página

Recommended Posts

Turma,

 

Possuo o seguinte código em cada uma de minhas páginas:

 

<%
strRetornoURL = Replace(Request.ServerVariables("script_name"), Left(Request.ServerVariables("script_name"), InstrRev(Request.ServerVariables("URL"), "/")), "") & "?" & Request.Querystring

'Response.Write(strRetornoURL)
Response.ExpiresAbsolute

If Session("IdUsuario") = "" Then
   Session.Abandon
   Response.Redirect("Index.asp?URLRetorno="&strRetornoURL)
End if
%>

Quando uma página que possue esse código ter a sessão expirada, é redirecionada para a página Index.asp que possui um formulário no qual o usuário DEVERIA SER REDIRECIONADO PARA A ÚLTIMA PÁGINA, ou seja, a página expirada.

 

Nesta página Index.asp, ela consegue pegar o último endereço, exemplo de como fica o endereço usando o código acima Index.asp?URLRetorno=Cadastro_Pax_VIP.asp?Empresa=3746 Nesta mesma página e no action do form, fica um campo hidden, conforme abaixo:

 

<input name="URLRetorno" type="hidden" value="URLRetorno=Index.asp">

Esse action redireciona para UMA SEGUNDA PÁGINA chamada Acessar.asp onde irá validar o usuário e redirecionará para a última página acessada, conforme abaixo:

 

'Pega a URL para retorna a
If Request("URLRetorno") <> "" Then 'Campo oculto no form da página Index.asp
	strRetornoURL = Request("URLRetorno")
Else
	strRetornoURL = Replace(Request.ServerVariables("script_name"), Left(Request.ServerVariables("script_name"), InstrRev(Request.ServerVariables("URL"), "/")), "") & "?" & Request.Querystring
End If

'Evitar enviar o usuário para outro site
strRetornoURL = Replace(strRetornoURL, "http", "",  1, -1, 1)
strRetornoURL = Replace(strRetornoURL, ":", "",  1, -1, 1)
strRetornoURL = Replace(strRetornoURL, "script", "",  1, -1, 1)

'Limpar a URL
strRetornoURL = formatLink(strRetornoURL)
strRetornoURL = removeAllTags(strRetornoURL)

'Troca & por &
strRetornoURL = Replace(strRetornoURL, "&", "&",  1, -1, 1)

Response.Redirect("Index2.asp?"&strRetornoURL)

Teóricamente está tudo bem, mas não está redirecionando como deveria. Eu não onde está o erro e gostaria muito de contar com a ajuda de que tem ou passou por um pro destes.

 

Muito obrigado,

 

Pedro.

Compartilhar este post


Link para o post
Compartilhar em outros sites

gera algum erro ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

xanburzum,

 

Obrigado por perguntar.

 

O pior é que não gera erro, mas não leva de volta para a última página e sim retorna para a página padrão (Index2.asp) onde o usuário LOGADO deve ir após confirmação de login e senha, como abaixo:

 

Response.Redirect("Index2.asp?"&strRetornoURL)
Else
	Session("Mensagem_Erro") = "Login ou Senha não confere"
	Response.Redirect("Index.asp?"&Request.QueryString)
End If

Eu nunca encontrei nada sobre isto no forum.

 

Abraço,

 

Pedro.

Compartilhar este post


Link para o post
Compartilhar em outros sites

dá um response.write no

response.write ("Index2.asp?"&strRetornoURL)

response.End()

para ver o que esta sendo passado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Poste o FORM que está em sua INDEX.ASP que deveria ser o de login do usuário.

Compartilhar este post


Link para o post
Compartilhar em outros sites

xanburzum,

 

Segue o Response.write que você solicitou:

 

Index2.asp?URLRetorno=Index.asp

Salgado,

 

Aqui está o form que você solicitou:

 

<form  action="Acessar.asp" onSubmit="return valida()" method="post" name="Acesso_Sistema" id="Acesso_Sistema">
  <div class="form-block">
	<div class="inputlabel">Login</div>
	  <div><input name="txt_Login" type="text" class="inputbox" id="txt_Login" size="15" />
	  </div>
	  <div class="inputlabel">Senha</div>
	  <div><input name="txt_Senha" type="password" class="inputbox" id="txt_Senha" size="15" />
	  </div>
	  <div align="left"><input type="submit" name="submit" class="button" value="Entrar" />
	  </div>
  </div>
  <input name="URLRetorno" type="hidden" value="URLRetorno=Index.asp">
</form>

Muito obrigado,

 

Pedro.

Compartilhar este post


Link para o post
Compartilhar em outros sites

No campo Hidden não deveria estar armazenada a URL da página que deu o problema?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Salgado,

 

Alterei para armazenar no campo hidden. Agora a URL, após o redirecionamento, ficou assim http://localhost/vip/Index2.asp?Index.asp?

 

Estou pegando a URL na Index.as. da seguinte forma:

 

<%
strRetornoURL = Replace(Request.ServerVariables("script_name"), Left(Request.ServerVariables("script_name"), InstrRev(Request.ServerVariables("URL"), "/")), "") & "?" & Request.Querystring

Response.Write(strRetornoURL)
%>

E jogando no campo hidden assim:

<input name="URLRetorno" type="hidden" value="<%=strRetornoURL%>">

Obrigado pela ajuda,

 

Pedro.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então resolveu...

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.