Ir para conteúdo

POWERED BY:

Arquivado

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

kania

Retornar a pagina antes do login

Recommended Posts

Olá pessoal, estou precisando criar um código que retorne para apagina anterior após o logim do cliente.

 

Assim o cliente clicou no mneu para ir para a pagina noticias.asp como esta pagina é restrita para usuários cadastrados ele será redirecionado para a pagina de login até ai esta funcioandno tudo bem, porem após ele fazer o login preciso que ele va para a apgina que ele requisitou antes da solicitação do login no caso a noticias.asp.

 

estou fazendo assim.

 

Pagina que verifica se o usuário esta ou não logado

 

Session.TimeOut = 20
   if not session("status") = "ok" then
	  url = request.servervariables("script_name") & request.servervariables("QUERY_STRING")
	  response.redirect("verifica_associado.asp") 
	  end if

pagina de login

 

<%

Set RS = Server.CreateObject("adodb.recordset")

SQL = "select * from associados where " & _
   	"login='" & Replace(request.form("login"), "'", "''") & _
   	"' and senha='" & Replace(request.form("senha"), "'", "''") & "'"
Set RS = Conn.Execute(SQL)

session("logar")=request.form("login")


if not rs.eof then 
		  
		 session("status") = "ok" 
		 
session("nivel")=Rs("nivel")
session("id")=Rs("id")	
	
		url = request.querystring("url")
		response.redirect url

 
	  else	  response.redirect("associado_erro.asp") 
	  end if

	  set rs = nothing 'Destruímos o Objeto
	  rs.close

%>

erro que esta dando

 

Tipo de erro:

Objeto Response, ASP 0158 (0x80004005)

Um URL é necessário.

/topsucesso/V2/verifica_login.asp, line 29

É isso ai, vamos ver se consigo resolver

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pega a url do usuario na pagina login.asp e armazena numa variavel ou numa sessao...dai você response.redirect ele pra essa variavel ou sessao

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pega a url do usuario na pagina login.asp e armazena numa variavel ou numa sessao...dai você response.redirect ele pra essa variavel ou sessao

fiz da seguinte forma Rodrigo:

 

tudo na pagina de login

 

<%
session ("url") = request.servervariables("script_name") & request.servervariables("QUERY_STRING")
caminho = session("url")

Set RS = Server.CreateObject("adodb.recordset")

SQL = "select * from associados where " & _
   	"login='" & Replace(request.form("login"), "'", "''") & _
   	"' and senha='" & Replace(request.form("senha"), "'", "''") & "'"
Set RS = Conn.Execute(SQL)

session("logar")=request.form("login")


if not rs.eof then
session("status") = "ok" 
session("nivel")=Rs("nivel")
session("id")=Rs("id")	
	
	  'response.redirect("default.asp")
	  response.Redirect(caminho)
	  else 
	  response.redirect("associado_erro.asp") 
	  end if
	  set rs = nothing 
	  rs.close

%>

Mas ele não redireciona para a pagina que foi solicitada antes do login, e pior esta trazendo para a apagina de erro, como se o logim ou a senha do associado estivesse errada, apesar de mostrar o estatus dele como logado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

A pagina anterior estará em

 

request.servervariables("HTTP_REFERER")

 

Voce busca ja na pagina de login e depois qeu der certo o login redireciona para ela

Compartilhar este post


Link para o post
Compartilhar em outros sites

A pagina anterior estará em

 

request.servervariables("HTTP_REFERER")

 

Voce busca ja na pagina de login e depois qeu der certo o login redireciona para ela

 

Mario, quase deu certo, veja:

 

eu tenho a pagina verifica_associado.asp que nela tem o INCLUDE que puxa a pagina LOGIN.ASP para se adequar ao layout do site, bom fiz como você falou, ele loga certinho porem ele retorna como pagina anterior clicada pelo associado como a pagina verifica_associado.asp.

 

Onde você acredita que posso ter errado, ou oque devo acrescentar para corrigir o erro?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nao entendi direito

 

Como voce fez?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nao entendi direito

 

Como voce fez?

 

Assim tenho uma pagina chamada verifica_associado.asp nela eu tenho todo o layout do site, a base de todas as outras paginas, para não ter que ficar trabalhando o layout toda hora ou se precisar mecher em algo mecho somente nesta pagina (no caso de imagens etc) ou no CSS (no caso de textos, e outros), o fato é que nesta pagina coloquei um INCLUDE chamando a pagina LOGIN.ASP que contém de fato o código que faz a verificação do login e dos dados digitados no formulário de lgoin caso tenha sido digitado, lembrando que ainda tenho outra pagina chamada VERIFICANDO_LOGIN.ASP que a que fica no topo de todas as paginas que necessitam de segurança para fazer a verificação e depois redirecionar para que o memso faça o login.

 

Abaixo o código destas paginas.

 

VERIFICANDO_LOGIN.ASP

<%
Session.TimeOut = 20
if not session("status") = "ok" then
response.redirect("verifica_associado.asp") 
end if
%>

VERIFICA_LOGIN.ASP ( A IMPLEMENTAÇÃO QUE você ME PASSOU ESTA NO INICO DESTA PAGINA)

 

<%
session ("url") = request.servervariables("HTTP_REFERER")

caminho = session("url")


Set RS = Server.CreateObject("adodb.recordset")

SQL = "select * from associados where " & _
   	"login='" & Replace(request.form("login"), "'", "''") & _
   	"' and senha='" & Replace(request.form("senha"), "'", "''") & "'"
Set RS = Conn.Execute(SQL)

session("logar")=request.form("login")


if not rs.eof then
session("status") = "ok" 
session("nivel")=Rs("nivel")
session("id")=Rs("id")	
	
	  response.Redirect(caminho)
	  else 
	  response.redirect("associado_erro.asp") 
	  end if
	  set rs = nothing 
	  rs.close

%>

VERIFICA_ASSOCIDAO.ASP (QUE FAZ INCLUDE E PUXA A PAGINA LOGIN)

 

<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<!--#include file="conexao/conexao.asp"-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>.:: TOP SUCESSO - SEU CRESCIMENTO PROFISSIONAL COMEÇA AQUI</title>
<link href="estilo.css" rel="stylesheet" type="text/css">
</head>
<body>
<table width="775" border="0" align="center" cellpadding="0" cellspacing="0">
  <tr>
	<td colspan="3"><img src="imagens/espa_topo.png" width="775" height="4" /></td>
  </tr>
  <tr>
	<td width="5" background="imagens/espa_lat_esq.png"><img src="imagens/espacador.png" width="5" height="5" /></td>
	<td width="765"><table width="765" border="0" cellspacing="0" cellpadding="0">
	  <tr>
		<td>
		<!--INICIO TOPO -->
		<!--#include file="topo.html"-->
		<!--FINAL TOPO -->
		</td>
	  </tr>
	  <tr>
		<td>
		<!--INICIO TOPO -->
		<!--#include file="login.asp"-->
		<!--FINAL TOPO -->
		</td>
	  </tr>
	  <tr>
		<td>
<img src="imagens/espacador.png" width="5" height="5" />
		</td>
	  </tr>
	  <tr>
		<td>
		<!--INICIO TOPO -->
		<!--#include file="rodape.html"-->
		<!--FINLA TOPO -->
		</td>
	  </tr>
	</table></td>
	<td width="5" background="imagens/espa_lat_dir.png"><img src="imagens/espacador.png" width="5" height="5" /></td>
  </tr>
  <tr>
	<td colspan="3"><img src="imagens/espa_rodape.png" width="775" height="4" /></td>
  </tr>
</table>
</body>
</html>

PAGINA LOGIN.ASP

 

<!--INICIO DA TABELA DE LOGIN -->
	<table width="380" border="0" cellspacing="0" cellpadding="0">
  <tr>
	<td><div align="center"><img src="imagens/Vista-(35).png" width="100" height="100" /></div></td>
	<td rowspan="2"><img src="imagens/espacador.jpg" width="5" height="5" vspace="5" /></td>
	<td><div align="center"><img src="imagens/novo_associado.png" width="128" height="128" /></div></td>
  </tr>
  <tr>
	<td><span class="texto_base12">Esta 
				área é de acesso restrito aos Associados, colaboradores 
				e parceiros Top Sucesso. Todos os acessos 
				são registrados.</span></td>
	<td><span class="texto_base12">Caso ainda não seja um associado do Top Sucesso <a href="#">clique</a> aqui e torne-se um hoje mesmo</span></td>
  </tr>
  <tr>
	<td colspan="3">
	
	<table width="380" border="0" cellspacing="0" cellpadding="0">
		<tr>
		  <td class="texto_titulo_negrito"> </td>
		</tr>
		<tr>
		  <td class="texto_titulo_negrito"><span class="Tahoma20vermelho">Login</span> de Associados<br>
			<br>			</td>
		</tr>
		<tr>
		  <td>
		  <table width="100%" align="left" cellpadding="5" class="borda_form_login">
			  <tr bgcolor="#dfe7ee"> 
				<td width="100%" >
<div align="left"></div>
				  <div align="left"></div>
				  <div align="center">					</div>
				  <div align="center">
				  <table width="100%" border="0" cellspacing="0" cellpadding="0">
  <tr>
	<td><form name="form1" method="post" action="verifica_login.asp">
							<table width="100%" border="0" align="left" cellpadding="5"cellspacing="0">
					  <tr> 
								<td width="50%"><span class="texto_base_negrito">Nome 
								  de Usuário:</span> 
								  <div align="left">
									<input name="login" type="text" id="login" size="30" class="borda_form_login">
							</div></td>
								<td width="50%" rowspan="2"><div align="center"><img src="imagens/associados.png" width="64" height="64" /></div></td>
					  </tr>
			  <tr> 
								<td></span><span class="texto_base_negrito">Senha:</span> 
								  <div align="left"> 
									<input name="senha" type="password" class="borda_form_login" id="senha" size="30" maxlength="15">
					</div></td>
								</tr>
			  <tr> 
						<td colspan="2"> 
						  <div align="center">
					<input name="Enviar" type="submit" class="borda_form_login" id="Enviar" value="ENTRAR">
					</div></td>
			  </tr>
			  <tr> 
						<td colspan="2"> 
						  <div align="center"><a href="reenvia_senha1.asp" class="Tahoma11Cinza">Esqueci 
									minha senha</a></div></td>
			  </tr>
			</table>
						  </form></td>
  </tr>
</table>
				  </div></td>
			  </tr>
			</table>		  </td>
		</tr>
	  </table>	</td>
	</tr>
</table>

	<!--FINAL DA TABELA DE LOGIN -->

Compartilhar este post


Link para o post
Compartilhar em outros sites

A pagina que o usuario tenta entrar é a verifica_associado.asp?

 

Se nao tiver logado chada o login?

 

no login que voce resgata isso?

 

session ("url") = request.servervariables("HTTP_REFERER")

 

Tem qeu ser exatamente na pagina que vem depois da inicialmente chamada

 

Ai voce salva nesta session ai e no final de tudo redireciona

 

So um detalhe casa o cara erre o login e volte para a pagina de login denovo perderá o valor original da session

 

Pois agora a pagina anterior seria a propria de login

 

Entao crie meios para evitar isso como um simples teste para ver se a session esta vazia

 

IF session ("url") = "" THEN
   session ("url") = request.servervariables("HTTP_REFERER")
END IF

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.