cear Postado Outubro 14, 2005 Denunciar Share Postado Outubro 14, 2005 Boas ....Tenho um pequeno problema com os dados que aparecem... tenho uma base de dados com os seguintes campos... user, pass, nome e socio.... tenho um ficheiro index.asp com o seguinte codigo:<html><head><title>Área Administrativa</title></head><body bgcolor=ffffff><script language="JavaScript" type="text/javascript"><!--if (!(document.layers)) { document.write('<style type="text/css">\ .bt{color:#ffffff;background-color:#0099ff;border: 1px solid #590808;}\ </style>');}//--></script><table border=0 cellpadding=0 cellspacing=0 width=100% height=100%> <tr> <td width=37% height=33%> </td> <td width=20% height=33%> </td> <td width=38% height=33%> </td> </tr> <tr> <td width=37% height=33%> </td> <td width=25% height=33% align=center> <table border=1 cellpadding=0 cellspacing=0 bordercolor=000000 style="border-collapse:collapse" width=100%> <tr> <td bgcolor=0099ff align=center width=100%> <font face="Verdana" color=ffffff size=2> <b>Área Administrativa</b> </td> </tr> <tr> <td width=100% align=center bgcolor=dddddd> <table border=0 width=90%> <tr> <td> <form method="post" action="logar.asp"> <font face="Verdana" color=000000 size=1> Usuário: </td> <td align=right> <input type="text" name="user" size=20> </td> </tr> <tr> <td> <font face="Verdana" color=000000 size=1> Senha: </td> <td align=right> <input type="password" name="pass" size=20> </td> </tr> <tr> <td align=right colspan=2> <font face="Verdana" color=ff0000 size=1> <b> <% if request.querystring("erro")=1 then response.write "Login ou Senha Incorreto ! " end if %> </b> <input type="submit" name"entrar" value="Login" class="bt"> </form> </td> </tr> </table> </td> </tr> </table> </td> <td width=38% height=33%> </td> </tr> <tr> <td width=37% height=33%> </td> <td width=20% height=33%> </td> <td width=38% height=33%> </td> </tr></table></body></html>outro com logar.asp com o seguinte codigo:<html><body bgcolor=ffffff><%validpwd="false"usuario=request.form("user")senha=request.form("pass")If usuario<>"" and senha<>"" Then Conexao = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & server.mappath("users.mdb") & ";" Set conn = Server.CreateObject("ADODB.Connection") conn.open Conexao Set rs = conn.Execute( "Select * from users where user='"&usuario&"' and pass='"&senha&"'") If not rs.eof then If rs("pass")=senha and rs("user")=usuario Then validpwd="true" Else validpwd="false" End If Else validpwd="false" end if rs.Close Set rs=Nothing conn.Close Set conn=Nothing If validpwd="true" Then Session("status") = "login" response.redirect "entrou.asp" End IfEnd IfIf validpwd="false" Then response.redirect "index.asp?erro=1"End If%></body></html>e um chamado entrou.asp com o seguinte codigo:<%if Session("status")<>"login" thenresponse.write rs.filds("nome")end ifsession("status")=""Conexao = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & server.mappath("users.mdb") & ";"Set conn = Server.CreateObject("ADODB.Connection")conn.open ConexaoSet rs = conn.Execute( "Select * from users")nome = rs("nome")socio = rs("socio")%><html><head><title>Logado</title></head><body leftmargin=0 topmargin=0 text="#000000" bgcolor="#FFFFFF" link="#0000FF" vlink="#0000FF" alink="#FF0000"><table border=0 width="100%" cellspacing=3 cellpadding=3><tr><td align="left"><font face="verdana" size=2>Olá <b><% = nome %></b>, você está logado(a)!</font></td><td align="right"><font face="verdana" size=2><a href="index.asp">Sair</a></font></td></tr><tr><td colspan=2><hr></td></tr></table>Nome:<%= nome %><br>Sócio: <%= socio %></html>mas quando faço o login aparece sempre os dados do primeiro registo da base de dados.... alguém me pode ajudar???? Obrigado Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 .Andreia. Postado Outubro 14, 2005 Denunciar Share Postado Outubro 14, 2005 você tem que colocar um WHERE nessa consulta Set rs = conn.Execute( "Select * from users") para definir qual registro se refere. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 cear Postado Outubro 14, 2005 Autor Denunciar Share Postado Outubro 14, 2005 você tem que colocar um WHERE nessa consulta Set rs = conn.Execute( "Select * from users") para definir qual registro se refere. Mas já esta lá... certo???? tenho de colocar esse codigo na pagina do entrou.asp??? é como disse ontem eu não percebo nada disto... ainda estou a entender...Mas obrigado pela paciencia. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 .Andreia. Postado Outubro 14, 2005 Denunciar Share Postado Outubro 14, 2005 entrou.asp Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 cear Postado Outubro 14, 2005 Autor Denunciar Share Postado Outubro 14, 2005 entrou.asp mas eu acho que já está la´!!! como devo mesmo de colocar...mais uma vez peço desculpa porque sou um chato do caraças...já agora se eu colocar mais um campo na base de dados como devo de por no codigo... e que queria acrescentar mais um campo a dizer 2005 que era para colocar nesse campo Ex: prontoObrigado Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 .Andreia. Postado Outubro 14, 2005 Denunciar Share Postado Outubro 14, 2005 Você poderia usar session pra isso, uma idéia só:logar.asp Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 cear Postado Outubro 14, 2005 Autor Denunciar Share Postado Outubro 14, 2005 fica um erroMicrosoft VBScript compilation error '800a03f6' Expected 'End' /logar.asp, line 47 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 .Andreia. Postado Outubro 14, 2005 Denunciar Share Postado Outubro 14, 2005 Qual é a linha 47? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 cear Postado Outubro 14, 2005 Autor Denunciar Share Postado Outubro 14, 2005 eu coloquei assim no logar.asp<html><body bgcolor=ffffff><%validpwd="false"usuario=request.form("user")senha=request.form("pass")If usuario<>"" and senha<>"" Then Conexao = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & server.mappath("users.mdb") & ";" Set conn = Server.CreateObject("ADODB.Connection") conn.open Conexao Set rs = conn.Execute( "Select * from users where user='"&usuario&"' and pass='"&senha&"'") If not rs.eof then If rs("pass")=senha and rs("user")=usuario Then validpwd="true" Else validpwd="false" End If Else validpwd="false" end if rs.Close Set rs=Nothing conn.Close Set conn=Nothing If validpwd="true" Then Session("status") = "login" Session("pass") = rs("pass") Session("user") = rs("user") Session("nome") = rs("nome") Session("socio") = rs("socio") response.redirect "entrou.asp" End IfEnd IfIf validpwd="false" Then response.redirect "index.asp?erro=1"End If%></body></html>a linha 47 esta em branco....meus deus vou ficar malucooooooo... tou a brincar... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 cear Postado Outubro 14, 2005 Autor Denunciar Share Postado Outubro 14, 2005 o erro agro diz que é Microsoft VBScript runtime error '800a000d' Type mismatch: 'rs' /logar.asp, line 35 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 .Andreia. Postado Outubro 14, 2005 Denunciar Share Postado Outubro 14, 2005 você fechou a conexao antes, tenta assim: Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 cear Postado Outubro 14, 2005 Autor Denunciar Share Postado Outubro 14, 2005 Agora da me o erro Microsoft VBScript compilation error '800a03f6' Expected 'End' /logar.asp, line 50 <html><body bgcolor=ffffff><%validpwd="false"usuario=request.form("user")senha=request.form("pass")If usuario<>"" and senha<>"" Then Conexao = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & server.mappath("users.mdb") & ";" Set conn = Server.CreateObject("ADODB.Connection") conn.open Conexao Set rs = conn.Execute( "Select * from users where user='"&usuario&"' and pass='"&senha&"'") If not rs.eof then If rs("pass")=senha and rs("user")=usuario Then validpwd="true" Else validpwd="false" End If Else validpwd="false" end if rs.Close Set rs=Nothing conn.Close Set conn=Nothing If validpwd="true" Then Session("status") = "login" Session("pass") = rs("pass") Session("user") = rs("user") Session("nome") = rs("nome") Session("socio") = rs("socio") response.redirect "entrou.asp" End IfIf validpwd="false" Thenresponse.redirect "index.asp?erro=1"End Ifrs.CloseSet rs=Nothingconn.CloseSet conn=Nothing%></body></html>a linha 50 é Set conn=Nothing Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 .Andreia. Postado Outubro 14, 2005 Denunciar Share Postado Outubro 14, 2005 Olha, realmente agora não sei... do jeito que eu te passei eu fiz aqui e funcionou Vamos ver se algum colega tem alguma idéia do que possa ser Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 cear Postado Outubro 14, 2005 Autor Denunciar Share Postado Outubro 14, 2005 tive a fazer tudo de novo... então o codigo fica assim no logar.asp<html><body bgcolor=ffffff><%validpwd="false"usuario=request.form("user")senha=request.form("pass")If usuario<>"" and senha<>"" Then Conexao = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & server.mappath("users.mdb") & ";" Set conn = Server.CreateObject("ADODB.Connection") conn.open Conexao Set rs = conn.Execute( "Select * from users where user='"&usuario&"' and pass='"&senha&"'") If not rs.eof then If rs("user")=senha and rs("pass")=usuario Then validpwd="true" Else validpwd="false" End If Else validpwd="false" end if rs.Close Set rs=Nothing conn.Close Set conn=Nothing If validpwd="true" Then Session("status") = "login" Session("user") = rs("user") Session("pass") = rs("pass") Session("nome") = rs("nome") Session("socio") = rs("socio") response.redirect "entrou.asp" End IfEnd IfIf validpwd="false" Then response.redirect "index.asp?erro=1"End Ifrs.CloseSet rs=Nothingconn.CloseSet conn=Nothing%></body></html>e da o erro Microsoft VBScript runtime error '800a000d' Type mismatch: 'rs' /logar.asp, line 35 que e onde diz Session("user") = rs("user") onde ele usa o primeiro rsse poderes ver o que é agradecia...Bigado Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 cear Postado Outubro 14, 2005 Autor Denunciar Share Postado Outubro 14, 2005 oi... agora funciona direitinho... menos quando se acrescenta um novo socio...ao fazer logim aparece o primeiro registo.... que neste caso é o teste..podes saber o que esta a acontecer???bigado Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 .Andreia. Postado Outubro 14, 2005 Denunciar Share Postado Outubro 14, 2005 No arquivo entrou.asp, mude para: Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 cear Postado Outubro 14, 2005 Autor Denunciar Share Postado Outubro 14, 2005 não sera que o codigo Set rs = conn.Execute( "Select * from users where user='"&usuario&"' and pass='"&senha&"'")não terá de ser colocada na pagina entrou.asp???para que quando o utilizador se logar não apareca o primeiro registo mas sim o dele????obigado Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 .Andreia. Postado Outubro 14, 2005 Denunciar Share Postado Outubro 14, 2005 Carlos, você mudou o que eu coloquei la em cima? tava puxando errado porque estava:response.write rs("nome") mas criou-se uma session e então o correto é chamar pela sessionresponse.write session("nome")Não precisa usar outra sql, sendo que colocou-se a session justamente para não precisar dessa sql.aqui funciona certinho, pegando o usuario correspodente... veja como está ai okpost anterior:<%if Session("status")<>"login" thenresponse.write Session("nome")end ifsession("status")=""nome = session("nome")socio = session("socio")%> Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 cear Postado Outubro 19, 2005 Autor Denunciar Share Postado Outubro 19, 2005 Boas... Andreia ake codigo estava a funcionar direitinho mas tava testando com ouser e a pass igual... ou seja User: teste Pass: teste, mas quando eu troco a pass ele já dá como login errado... já testei com outros user e da-me igual... se o user for igual a pass ele funciona se não for ele da erro... Sabe o que possa ser????Obigado Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 .Andreia. Postado Outubro 19, 2005 Denunciar Share Postado Outubro 19, 2005 Estranho Carlos, porque quando eu testei aqui foi com vários usuários.Tente imprimir a consulta SQL pra ver o q está retornando da tabela. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 cear Postado Outubro 19, 2005 Autor Denunciar Share Postado Outubro 19, 2005 Estranho Carlos, porque quando eu testei aqui foi com vários usuários.Tente imprimir a consulta SQL pra ver o q está retornando da tabela. logar.asp<html><body bgcolor=ffffff><%validpwd="false"usuario=request.form("user")senha=request.form("pass")If usuario<>"" and senha<>"" ThenConexao = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & server.mappath("Dados.mdb") & ";"Set conn = Server.CreateObject("ADODB.Connection")conn.open ConexaoSet rs = conn.Execute( "Select * from users where user='"&usuario&"' and pass='"&senha&"'")If not rs.eof thenIf rs("user")=senha and rs("pass")=usuario Thenvalidpwd="true"Elsevalidpwd="false"End IfElsevalidpwd="false"end ifIf validpwd="true" ThenSession("status") = "login"Session("user") = rs("user")Session("pass") = rs("pass")Session("nome") = rs("nome")Session("socio") = rs("socio")session("a") = rs("a")session("b") = rs("b")session("c") = rs("c")session("d") = rs("d")session("e") = rs("e")session("f") = rs("f")session("g") = rs("g")session("h") = rs("h")session("i") = rs("i")session("j") = rs("j")session("k") = rs("k")session("l") = rs("l")session("n") = rs("n")response.redirect "entrou.asp"End IfEnd IfIf validpwd="false" Thenresponse.redirect "index.asp?erro=1"End Ifrs.CloseSet rs=Nothingconn.CloseSet conn=Nothing%></body></html>entrou.asp<%if Session("status")<>"login" thenresponse.write Session("nome")end ifsession("status")=""nome = session("nome")socio = session("socio")a = session("a")b = session("b")c = session("c")d = session("d")e = session("e")f = session("f")g = session("g")h = session("h")i = session("i")j = session("j")k = session("k")l = session("l")n = session("n")%><html><head><title>Logado</title></head><body leftmargin=0 topmargin=0 text="#000000" bgcolor="#FFFFFF" link="#0000FF" vlink="#0000FF" alink="#FF0000"><table border=0 width="100%" cellspacing=3 cellpadding=3><tr><td align="left"><font face="verdana" size=2>Olá <b><% = nome %></b>, você está logado(a)!</font></td><td align="right"><font face="verdana" size=2><a href="index.asp">Sair</a></font></td></tr><tr><td colspan=2><hr></td></tr></table>Nome:<%= nome %><br>Aplido: <%= socio %><br>2005: <%= a %><br>2004: <%= b %><br>2003: <%= c %><br>2002: <%= d %><br>2001: <%= e %><br>2000: <%= f %><br>1999: <%= g %><br>1998: <%= h %><br>1997: <%= i %><br>1996: <%= j %><br>1995: <%= k %><br>1994: <%= l %><br>1993: <%= n %></html>Axa que me consegue ver o que se passa?Muito obigado Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 .Andreia. Postado Outubro 19, 2005 Denunciar Share Postado Outubro 19, 2005 O código funciona certinho aqui, você tem certeza que o usuario teste existe na tabela Users? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 cear Postado Outubro 19, 2005 Autor Denunciar Share Postado Outubro 19, 2005 O código funciona certinho aqui, você tem certeza que o usuario teste existe na tabela Users? sim... por exemplo se for user: teste pass: teste ele funciona direitinho... mas se for diferente ex: user: teste e pass: tata ele já não funciona Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 .Andreia. Postado Outubro 19, 2005 Denunciar Share Postado Outubro 19, 2005 coisa de loko, então se você puder me manda um e-mail com seu bd e arquivos, dou uma olhadinha.... porque eu fiz aqui e funciona certo Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 cear Postado Outubro 20, 2005 Autor Denunciar Share Postado Outubro 20, 2005 coisa de loko, então se você puder me manda um e-mail com seu bd e arquivos, dou uma olhadinha.... porque eu fiz aqui e funciona certo Enviei o e-mail. Quando poder dar uma olhadela...Bigado Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 .Andreia. Postado Outubro 20, 2005 Denunciar Share Postado Outubro 20, 2005 Carlos, o erro era bem simples.Veja como estava este trecho:If not rs.eof thenIf rs("user")=senha and rs("pass")=usuario Thenvalidpwd="true"Elsevalidpwd="false"End IfElsevalidpwd="false"end ifEle não passava naquela condição porque user não é senha, e pass não é usuario, está invertido.o correto é assim:If not rs.eof thenIf rs("user")=usuario and rs("pass")=senha Thenvalidpwd="true"Elsevalidpwd="false"End IfElsevalidpwd="false"end ifPor isso que o seu acesso "cear" "cear" funcionava, porque era o unico que tinha user e pass iguais.O resto está ok, altere ai ta Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
cear
Boas ....
Tenho um pequeno problema com os dados que aparecem... tenho uma base de dados com os seguintes campos... user, pass, nome e socio.... tenho um ficheiro index.asp com o seguinte codigo:
<html>
<head>
<title>Área Administrativa</title>
</head>
<body bgcolor=ffffff>
<script language="JavaScript" type="text/javascript">
<!--
if (!(document.layers)) {
document.write('<style type="text/css">\
.bt{color:#ffffff;background-color:#0099ff;border: 1px solid #590808;}\
</style>');
}
//-->
</script>
<table border=0 cellpadding=0 cellspacing=0 width=100% height=100%>
<tr>
<td width=37% height=33%>
</td>
<td width=20% height=33%>
</td>
<td width=38% height=33%>
</td>
</tr>
<tr>
<td width=37% height=33%>
</td>
<td width=25% height=33% align=center>
<table border=1 cellpadding=0 cellspacing=0 bordercolor=000000 style="border-collapse:collapse" width=100%>
<tr>
<td bgcolor=0099ff align=center width=100%>
<font face="Verdana" color=ffffff size=2>
<b>Área Administrativa</b>
</td>
</tr>
<tr>
<td width=100% align=center bgcolor=dddddd>
<table border=0 width=90%>
<tr>
<td>
<form method="post" action="logar.asp">
<font face="Verdana" color=000000 size=1>
Usuário:
</td>
<td align=right>
<input type="text" name="user" size=20>
</td>
</tr>
<tr>
<td>
<font face="Verdana" color=000000 size=1>
Senha:
</td>
<td align=right>
<input type="password" name="pass" size=20>
</td>
</tr>
<tr>
<td align=right colspan=2>
<font face="Verdana" color=ff0000 size=1>
<b>
<%
if request.querystring("erro")=1 then
response.write "Login ou Senha Incorreto ! "
end if
%>
</b>
<input type="submit" name"entrar" value="Login" class="bt">
</form>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
<td width=38% height=33%>
</td>
</tr>
<tr>
<td width=37% height=33%>
</td>
<td width=20% height=33%>
</td>
<td width=38% height=33%>
</td>
</tr>
</table>
</body>
</html>
outro com logar.asp com o seguinte codigo:
<html>
<body bgcolor=ffffff>
<%
validpwd="false"
usuario=request.form("user")
senha=request.form("pass")
If usuario<>"" and senha<>"" Then
Conexao = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & server.mappath("users.mdb") & ";"
Set conn = Server.CreateObject("ADODB.Connection")
conn.open Conexao
Set rs = conn.Execute( "Select * from users where user='"&usuario&"' and pass='"&senha&"'")
If not rs.eof then
If rs("pass")=senha and rs("user")=usuario Then
validpwd="true"
Else
validpwd="false"
End If
Else
validpwd="false"
end if
rs.Close
Set rs=Nothing
conn.Close
Set conn=Nothing
If validpwd="true" Then
Session("status") = "login"
response.redirect "entrou.asp"
End If
End If
If validpwd="false" Then
response.redirect "index.asp?erro=1"
End If
%>
</body>
</html>
e um chamado entrou.asp com o seguinte codigo:
<%
if Session("status")<>"login" then
response.write rs.filds("nome")
end if
session("status")=""
Conexao = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & server.mappath("users.mdb") & ";"
Set conn = Server.CreateObject("ADODB.Connection")
conn.open Conexao
Set rs = conn.Execute( "Select * from users")
nome = rs("nome")
socio = rs("socio")
%>
<html>
<head>
<title>Logado</title>
</head>
<body leftmargin=0 topmargin=0 text="#000000" bgcolor="#FFFFFF" link="#0000FF" vlink="#0000FF" alink="#FF0000">
<table border=0 width="100%" cellspacing=3 cellpadding=3>
<tr>
<td align="left"><font face="verdana" size=2>
Olá <b><% = nome %></b>, você está logado(a)!</font></td>
<td align="right"><font face="verdana" size=2><a href="index.asp">Sair</a></font></td>
</tr>
<tr><td colspan=2><hr></td></tr></table>
Nome:<%= nome %><br>
Sócio: <%= socio %>
</html>
mas quando faço o login aparece sempre os dados do primeiro registo da base de dados.... alguém me pode ajudar????
Obrigado
Link para o comentário
Compartilhar em outros sites
25 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.