Ir para conteúdo

POWERED BY:

Arquivado

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

Arlene Paula

[Resolvido] Página de login q valida, mas não valida... eu hein!

Recommended Posts

Oi gente... sou eu de novo XD!

Seguinte, vim aki pq sei q tem mtos feras aki e certamente, conseguirá me ajudar nisso... cara, tenho qse certeza q é algo simples... mas eu não to enchergando...

 

Tipo, tenho uma página q, fazendo login (default.asp) deveria ser levado para a página Pprincipal.asp, se o login e senha estiverem corretos. Peguei esse sistema pela metade, dum sistema de aulas e nesse, to colocando pra atualizar noticias, newsletter e outros, no site da minha comunidade. Porém, se eu digitasse Pprincipal.asp na barra de end, ele abria sem necessidade de senha. Aí, peguei o seguinte comando de outro sistema (site infantil) q tem login e senha com os códigos de assinante e que não permite voltar e tb, se a pessoa digitar o nome do arquivo na barra, ele diz q não está logado e pede pra logar no link tal. Eis o comando (está na Pprincipal.asp):

 

<%
'colocar essas três linhas de comando antes de tudo, para que nada fique no cache e não seja
'possível voltar à página do sistema se mudar o endereço na barra de endereço.
Response.addHeader "pragma", "no-cache"
Response.CacheControl = "Private"
Response.Expires = 0

If session ("usuariolog_ok")="" Then
   response.write "Você não está logado no sistema!"
   response.write "<a href='default.asp'>Clique aqui para logar!</a>"
   
   session("pagina_restrita")=Request.ServerVariables("SCRIPT_NAME")&"?"&request.ServerVariables("QUERY_STRING")
   response.end()
end if
set conexao=Server.CreateObject("ADODB.Connection")
conexao.provider="Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath("../../dados/bdcomdeus.mdb")&";"
conexao.open

SQL="SELECT * FROM area_restrita WHERE senha='"&session("usuariolog_ok")& "'"
Set RS=Conexao.Execute(SQL)
If rs.eof then
Response.Write"Ocorreu um Erro!"
else

%>

<HTML>
.
.
.

</HTML><%end if%>

 

Antes, qdo não tinha nada disso, ele logava e ia p página Pprincipal.asp normal, só q ia tb msm sem senha. Agora, qdo eu coloco minha senha e login, ele dá o erro como se eu não estivesse logada, mesmo digitando meu login e senha corretamente. Por que não está logando? Tah dando esse erro:

 

Você não está logado no sistema!Clique aqui para logar!

 

eu logando ou não, tentando escrever na barra de endereço ou não... sempre diz isso.

 

O que pode ser? Alguem tem idéia?

 

Se pcisar que eu escreva mais alguma coisa, me avisem tah!!

 

Valeu!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

você quer dizer o default.asp né? onde faço o login. Se for, está assim:

 

<style type="text/css"> 
			<!-- 
			.campos_formulario
{
font-family: Tahoma, Verdana, Arial;
font-size: 11px;
border: 1px solid #4E6070;
background-color: #FFFFFF;
}
			body {
	margin-left: 0px;
	margin-top: 0px;
	margin-right: 0px;
	margin-bottom: 0px;
	background-image: url(../images/barra_inferior.gif);
}
.style5 {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 11px;
	color: #4E6070;
}
a:link {
	color: #4E6070;
	text-decoration: none;
}
a:visited {
	text-decoration: none;
	color: #4E6070;
}
a:hover {
	text-decoration: underline;
	color: #4E6070;
}
a:active {
	text-decoration: none;
	color: #4E6070;
}
.style6 {color: #FFFFFF}
.style7 {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 12px;
}
.style8 {
	font-size: 11px;
	color: #4E6070;
}
	-->
</style>
<p> </p>
<p> </p>
<p> </p>
<table border="0" align="center" cellpadding="0" cellspacing="0">
  <tr>
	<td> </td>
	<td colspan="2"> </td>
  </tr>
  <tr>
	<td height="15"><img src="../images/Ajuste15.gif" width="10" height="10"></td>
	<td background="../images/LinhaS.gif"><img src="../images/Ajuste15.gif" width="10" height="10"></td>
	<td></td>
  </tr>
  <tr>
	<td background="../images/LinhaD.gif" style="background-position:right"> </td>
	<td valign="top"><table width="111%" border="0" cellspacing="0" cellpadding="0">
	  <tr>
		<td height="43" colspan="3" background="../../Images/DegradeSuave1a.jpg">   <div align="center"><img src="../images/SecaoLogin.gif" width="201" height="24" hspace="50"></div></td>
		</tr>
	  <tr>
		<td width="2%"><br>
		  <br></td>
		<td colspan="2" align="center" valign="middle"><form method="post" action="login.asp">
<br />
<table width="63%" border="0" align="center" cellpadding="0" cellspacing="0">
			<tr>
			  <td width="23%"><span class="style7"><span class="style8">Login</span>:</span></td>
			  <td width="77%"><input name="login" type="text" class="campos_formulario" size="29"></td>
			</tr>
			<tr>
			  <td height="38"><span class="style7"><span class="style8">Senha</span>:</span></td>
			  <td><input name="senha" type="password" class="campos_formulario" size="29"></td>
			</tr>
			<tr>
			  <td> </td>
			  <td align="right"><label>
				<input type="image" name="imageField" src="Imagens/Botoes/BotaoLogar.gif">
				</label></td>
			</tr>
		  </table>
		  <br>
		</form></td>
		</tr>
	</table></td>
	<td valign="top" background="../images/LinhaE.gif"> </td>
  </tr>
  <tr>
	<td> </td>
	<td background="../images/LinhaI.gif"> </td>
	<td> </td>
  </tr>
  <tr>
	<td> </td>
	<td colspan="2"> </td>
  </tr>
</table>

 

O arquivo Pprincipal.asp está assim:

 

<%
'colocar essas três linhas de comando antes de tudo, para que nada fique no cache e não seja
'possível voltar à página do sistema se mudar o endereço na barra de endereço.
Response.addHeader "pragma", "no-cache"
Response.CacheControl = "Private"
Response.Expires = 0

If session ("usuariolog_ok")="" Then
   response.write "Você não está logado no sistema!"
   response.write "<a href='default.asp'>Clique aqui para logar!</a>"
   
   session("pagina_restrita")=Request.ServerVariables("SCRIPT_NAME")&"?"&request.ServerVariables("QUERY_STRING")
   response.end()
end if
set conexao=Server.CreateObject("ADODB.Connection")
conexao.provider="Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath("../../dados/bdcomdeus.mdb")&";"
conexao.open

SQL="SELECT * FROM area_restrita WHERE senha='"&session("usuariolog_ok")& "'"
Set RS=Conexao.Execute(SQL)
If rs.eof then
Response.Write"Ocorreu um Erro!"
else

%>

<HTML>
	<HEAD>
		<title>ATN</title>
		<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
		<link rel="stylesheet" href="links.css">
			<style type="text/css"> 
			<!-- 
			.style3 { color: #FF9900; font-weight: bold; }
body {
	background-image: url(../images/barra_inferior.gif);
}
	--></style>
	</HEAD>
	<body>
		<br>
		<table width="96%" border="0" cellspacing="0" cellpadding="0">
		  <tr>
			<td><div align="right"><a href="logout.asp">Logoff</a></div></td>
		  </tr>
		</table>
		<p> </p>
	<p> 		</p>
		<table border="0" align="center" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF">
			<tr>
				<td width="16"> </td>
				<td width="659" background="Imagens/Backgrounds/LinhaS.gif"><img src="Imagens/Ajustes/Ajuste15.gif" width="15" height="15"></td>
				<td width="10"> </td>
			</tr>
			<tr>
				<td height="304" valign="top" background="Imagens/Backgrounds/LinhaD.gif"> </td>
				<td valign="top"><table width="100%"  border="0" cellspacing="0" cellpadding="0">
				  <tr>
					<td width="15" height="43" background="Imagens/Backgrounds/DegradeSuave1b.jpg"> </td>
					<td width="635" background="Imagens/Backgrounds/DegradeSuave1a.jpg"><table width="100%"  border="0" cellspacing="0" cellpadding="0">
					  <tr>
						<td width="35"><img src="Imagens/Icones/Modulos.gif" width="28" height="25"></td>
						<td><span class="style3">Notícias e Newsletter  </span></td>
					  </tr>
					</table></td>
					<td width="10" background="Imagens/Backgrounds/DegradeSuave1b.jpg"> </td>
				  </tr>
				  <tr>
					<td> </td>
					<td> </td>
					<td> </td>
				  </tr>
				  <tr>
					<td> </td>
					<td><table width="100%"  border="0" cellspacing="0" cellpadding="0">
					  <tr>
						<td width="50"><img src="Imagens/Icones/ExPlanos.gif" width="50" height="50"></td>
						<td><a href="Modulos/ArtFormacao/PFormacao.asp"><strong>Cadastrar um artigo </strong><br>
  Cadastro de uma notícia para o site. </a></td>
					  </tr>
					</table></td>
					<td> </td>
				  </tr>
				  <tr>
					<td> </td>
					<td> </td>
					<td> </td>
				  </tr>
				  <tr>
					<td> </td>
					<td><table width="100%"  border="0" cellspacing="0" cellpadding="0">
					  <tr>
						<td width="50"><img src="Imagens/Icones/ExContratos.gif" width="50" height="50"></td>
						<td><a href="Modulos/news/main.asp"><strong>Gerenciar Newsletter </strong><br>
Gerenciamento de newsletter para os contatos.</a></td>
					  </tr>
					</table></td>
					<td> </td>
				  </tr>
				  <tr>
					<td> </td>
					<td> </td>
					<td> </td>
				  </tr>
				  <tr>
					<td> </td>
					<td><table width="100%"  border="0" cellspacing="0" cellpadding="0">
					  <tr>
						<td width="50"><img src="Imagens/Icones/ExAtividade.gif" width="50" height="50"></td>
						<td><a href="../../sisnoticia/lista.asp"><strong>Cadastrar notícias </strong><br>
						Gerenciamento de newsletter para os contatos.</a></td>
					  </tr>
					</table></td>
					<td> </td>
				  </tr>
				  <tr>
					<td> </td>
					<td> </td>
					<td> </td>
				  </tr>
				  <tr>
					<td> </td>
					<td><table width="100%"  border="0" cellspacing="0" cellpadding="0">
					  <tr>
						<td width="50"><img src="Imagens/Icones/ExExercicios.gif" width="50" height="50"></td>
						<td><a href="../../muralrecados/lista.asp"><strong>Mural de Recados </strong><br>
						Gerenciamento de newsletter para os contatos.</a></td>
					  </tr>
					</table></td>
					<td> </td>
				  </tr>
				  <tr>
					<td> </td>
					<td> </td>
					<td> </td>
				  </tr>
				  <tr>
					<td> </td>
					<td><table width="100%"  border="0" cellspacing="0" cellpadding="0">
					  <tr>
						<td width="50"><img src="Imagens/Icones/ExModulos.gif" width="50" height="50"></td>
						<td><a href="../../formacao/lista.asp"><strong>Formação</strong><br>
						Gerenciamento de newsletter para os contatos.</a></td>
					  </tr>
					</table></td>
					<td> </td>
				  </tr>
				</table>
					<br>
				<br></td>
				<td background="Imagens/Backgrounds/LinhaE.gif"> </td>
			</tr>
			<tr>
				<td valign="bottom"> </td>
				<td background="Imagens/Backgrounds/LinhaI.gif"><div align="right"> </div>			  </td>
				<td> </td>
			</tr>
		</table>
	</body>
</HTML><%end if%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Apenas um exemplo bem básico de como deveria fazer :::

 

default.asp

<form action="pagina.asp" method="post">
<table>
<tr>
<td>Login<td>
<td><input type="text" name="login"></td>
</tr>
<tr>
<td>Senha<td>
<td><input type="text" name="senha"></td>
</tr>
</table></form>

pagina.asp

<% 'aki recuperando os dados do formulário
login=request.form("login")
senha=request.form("senha")

'abrindo a conexão
set conexao=Server.CreateObject("ADODB.Connection")
conexao.provider="Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath("../../dados/bdcomdeus.mdb")&";"
conexao.open

'agora verificando se o login e senha existem
SQL="SELECT * FROM area_restrita WHERE login= '"&login&"' AND senha= '"&senha&"' "
Set RS=Conexao.Execute(SQL)

'Caso ñ esteja corretos

if TS.eof then
Response.Write "Login ou Senha Inválidos"

'Caso estejam corretos, cria sessão OK para o usuário e o direciona para á pagina principal.asp

else

session ("usuariolog_ok")= OK 

response.redirect "principal.asp"
end if %>

Agora para ñ permitir q o usuário entre nas páginas sem logar, ou seja pela URL como foi dito

Insira isso no topo das páginas ...

 

Response.addHeader "pragma", "no-cache"
Response.CacheControl = "Private"
Response.Expires = 0

'Caso usuariolog_ok ñ este logado, pede para o mesmo efetuar um login
If session ("usuariolog_ok") <> OK Then
   response.write "Você não está logado no sistema!"
   response.write "<a href='default.asp'>Clique aqui para logar!</a>"
else 
end if

Compartilhar este post


Link para o post
Compartilhar em outros sites

Faltou o botão pra validar... é so colocar ou tem alguma programação? Desculpe a pergunta boba... mas é q to meio verde ainda, nessa kestão de asp...

 

 

*eu só coloquei o botão e qdo cliquei, ele deu um erro:

 

Tipo de erro:

Erro de tempo de execução do Microsoft VBScript (0x800A01A8)

Objeto necessário: 'TS'

/comdeus2007/ATN/Admin/pagina.asp, line 16

 

 

Na linha 16 tem:

 

'Caso ñ esteja corretos

 

if TS.eof then ------------------------------------------essa é a linha 16

Response.Write "Login ou Senha Inválidos"

Compartilhar este post


Link para o post
Compartilhar em outros sites

ahuhauhauhua foi mal eskeci testa ai agora ...

 

default.asp

<form action="pagina.asp" method="post">
<table>
<tr>
<td>Login<td>
<td><input type="text" name="login"></td>
</tr>
<tr>
<td>Senha<td>
<td><input type="text" name="senha"></td>
</tr>
<tr>
<td><input type="submit" name="Entrar"></td>
</tr>

</table></form>

pagina.asp

<% 'aki recuperando os dados do formulário
login=request.form("login")
senha=request.form("senha")

'abrindo a conexão
set conexao=Server.CreateObject("ADODB.Connection")
conexao.provider="Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath("../../dados/bdcomdeus.mdb")&";"
conexao.open

'agora verificando se o login e senha existem
SQL="SELECT * FROM area_restrita WHERE login= '"&login&"' AND senha= '"&senha&"' "
Set RS=Conexao.Execute(SQL)

'Caso ñ esteja corretos

if RS.eof then
Response.Write "Login ou Senha Inválidos"

'Caso estejam corretos, cria sessão OK para o usuário e o direciona para á pagina principal.asp

else

session ("usuariolog_ok")= OK 

response.redirect "principal.asp"
end if %>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Entao... ainda tem alguma coisinha errada.

Eu ainda to conseguindo entrar na principal.asp digitando o nome na barra de endereço... não sei pq... fiz do jeito q você colocou.

No outro sistema q tenho (biblincando) a área restrita funciona legal... e tah assim akela parte do código:

 

<%
'colocar essas três linhas de comando antes de tudo, para que nada fique no cache e não seja
'possível voltar à página do sistema se mudar o endereço na barra de endereço.
Response.addHeader "pragma", "no-cache"
Response.CacheControl = "Private"
Response.Expires = 0

If session ("usuariolog_ok")="" Then
   response.write "Você não está logado no sistema!"
   response.write "<a href='loginbiblincandoonline.asp'>Clique aqui para logar!</a>"
   
   session("pagina_restrita")=Request.ServerVariables("SCRIPT_NAME")&"?"&request.ServerVariables("QUERY_STRING")
   response.end()
end if
set conexao=Server.CreateObject("ADODB.Connection")
conexao.provider="Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath("comdeus.mdb")&";"
conexao.open

SQL="SELECT * FROM biblincando WHERE codigoassinante='"&session("usuariolog_ok")& "'"
Set RS=Conexao.Execute(SQL)
If rs.eof then
Response.Write"Ocorreu um Erro!"
else

%>
<html>
.
.
.
</body>
</html><%end if%>

Aí funciona perfeitamente... mas nesse sistema não deu certo...

 

Ah sim... o seu código lah, faltou abrir o asp e ele pediu mais algumas coisinhas no código:

 

<%
Response.addHeader "pragma", "no-cache"
Response.CacheControl = "Private"
Response.Expires = 0

'Caso usuariolog_ok ñ este logado, pede para o mesmo efetuar um login
If session ("usuariolog_ok") <> OK Then
   response.write "Você não está logado no sistema!"
   response.write "<a href='default.asp'>Clique aqui para logar!</a>"
else 
%>
<p>PÁGINA PRINCIPAL</p>
<p>OIEEE </p>
<%end if%>

 

Eagora, o q pode ser?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim, logar eu consegui!!!

 

O problema só é que ele não ta segurando a pessoa digitar o nome do arquivo na barra de endereço e entrar do msm jeito, sem logar, entende?

 

Eu queria que ele barrasse, pq isso q to fazendo é uma págna administrativa para o nosso site...

 

Mas olha Jow, você foi uma super hiper mega ajuda viu!! Sem essa sua dica, eu não teria feito nem metade :D!!

 

Obrigada!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Na pagina.asp tira o espaço q está entre a sessão e o nome

session ("usuariolog_ok")= OK
por
session("usuariolog_ok")= OK

 

e na verificação de logim faça a mesma coisa

If session ("usuariolog_ok") <> OK Then
para
If session("usuariolog_ok") <> OK Then

Caso ñ dê certo, loga e manda imprimir a sessão na tela

 

response.write session("usuariolog_ok")

response.End()

 

e posta o resultado

Compartilhar este post


Link para o post
Compartilhar em outros sites

hauuahuauh ... Possivelmente isto está correto o q acontece é q você tem q destruir a sessão do usuário para testar ... ñ deixar ele digitar na url ...

 

Manda imprimir na tela a sessão como foi dito ... deverá aparecer OK

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nossa, desculpe... mas como eu faço isso, imprimir a sessão na tela? http://forum.imasters.com.br/public/style_emoticons/default/blush.gif

Em qual página eu escrevo esse comando acima?

Cara... desculpe msm... mas eu ainda não manjei mto de asp http://forum.imasters.com.br/public/style_emoticons/default/ermm.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

você deverá fazer um link para o usuário sair do sistema ...

 

<a href="logout.asp">Sair(X)</a>

 

logout.asp

<%
Session.Abandon
response.redirect "default.asp"
%>

Assim depois q o usuário se logou você clica no link q acobou de criar sair, então a sessão do usuário será perdida, você testa digitando na url e veja se passa ...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Hum tendi ... manda na pagina principal.asp

 

apenas assim

 

response.write session("usuariolog_ok")
response.End()
... Mas só executa isso caso o q foi passado ñ dê certo

Compartilhar este post


Link para o post
Compartilhar em outros sites

vi agora esse aí

vou testar

 

---------------------------

 

é... tah do msm jeito.. nao segura...

 

Mto cabuloso!

Compartilhar este post


Link para o post
Compartilhar em outros sites

ñ deveria aparecer OK ... Posta ai como tá o seu código agora ... Testei o q postei aki e funcionou perfeito

 

http://www.thatto.com.br/thatto/portal/admin/default.asp

 

usuário e senha admin

 

para deslogar clica em cima do usuário teste

 

e depois digite na url o caminho

 

http://www.thatto.com.br/thatto/portal/adm...do/bemvindo.asp

 

ele ñ deixa entrar

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.