Ir para conteúdo

POWERED BY:

Arquivado

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

reinaldo polato

nome e senha com session

Recommended Posts

e ai galera beleza quando eu digito o login e a senha ai vai pra pagina resposta.asp ai a linha 15

Microsoft OLE DB Provider for ODBC Drivers erro '80004005'

 

[Microsoft][ODBC Driver Manager] Nome da fonte de dados não encontrado e nenhum driver padrão especificado

 

/vendas/re/resposta.asp, linha 15

da esse erro do banco de dados

 

a linha 15 é essa

conntemp.Open Application("c:/vendas/re/Conecta_bd.mdb")

 

como eu faço pra quando o usuario logar e ele acessar a pagina inicial do sistema ai se eu o usuario não conseguir se logar ir pra pagina resposta.asp pra tentar logar de novo

 

login.asp

<html> 
<head> 
<title>login.asp</title> 
</head> 
<body bgcolor="aqua"> 
<form action="resposta.asp" method="POST"> 
Informe nome e senha: 
<p> 
Nome -> <input NAME="nome" size="20"><br> 
Senha -> <input type="password" NAME="senha" size="20"><br> 
<hr> 
<input type="submit" value="Conectar"> 
<input type="reset" value="Limpar"> 
</form> 
</body> 
</html>

 

resposta.asp

 

<%
Option Explicit

'Declaração das Variáveis 
Dim conntemp
Dim nome_u
Dim senha_u
Dim Sqltemp
Dim rstemp
'--------------------------------------
'Abre conexão com o banco de dados
'--------------------------------------
Sub Abre_Conexao
 Set conntemp = Server.CreateObject("ADODB.Connection")
 conntemp.Open Application("c:/vendas/re/Conecta_bd.mdb")
End Sub

'--------------------------------------
'Fecha conexão com o banco de dados
'--------------------------------------
Sub Fecha_Conexao
 conntemp.Close
 Set conntemp = Nothing
End Sub 
'Abre conexão c/o banco de dados
Abre_Conexao

nome_u = request.form("nome")
senha_u = request.form("senha")

'monta a instrução SQL para verificar se o usuário existe
sqltemp = "select * from usuarios where usuario='"
sqltemp = sqltemp & nome_u & "'"

'verifica se o nome informado esta no arquivo
set rstemp=conntemp.execute(sqltemp)
'se o nome nao estiver cadastrado informa ao usuário


%>
<html>
<head>
<TITLE>resposta.asp</TITLE>
</head><body bgcolor="#FFFFFF">
<%
If rstemp.eof then %>
   <h1> Não existe usuario com o nome <%=nome_u%> cadastrado !<p> </h1>
   <h1> Tente <A href='login.asp'>Conectar </a> novamente </h1>
   <hr>
  <%
  response.end
end if
'verifica se a senha informada esta cadastrada
If rstemp("Senha") = crypt(senha_u) then
  session("nome") = rstemp("usuario") 
  session("nivel") = rstemp("nivel") 
  Response.write "Usuario = " & nome_u%>
 <p>
 <%
 response.write "Nivel = " & session("nivel")%>
 <hr>
 <H1>Usuário conectado com sucesso !!! </H1> 

<h2>Clique aqui  <A href='manutencao.asp'> Manutencao </a> para entrar. </h2> 

<%
else
 %>
 Senha não reconhecida <p> 
 <h1> Voce não esta autorizado a ler esta página </h1> 
 <hr> 
 <h1> Sua sessão foi encerrada ! </h1> 
 <% response.end 
 session.abandon
end if
'fecha e destrói os objetos criados
Fecha_Conexao
%>
</body>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

O correto seria assim...

 

Set conntemp = Server.CreateObject("ADODB.Connection")
conntemp.Provider="Microsoft.Jet.OLEDB.4.0"
conntemp.Open "c:/vendas/re/Conecta_bd.mdb"

Compartilhar este post


Link para o post
Compartilhar em outros sites

verifiqque as permissões muitas vezes esse erro pode ser direitos administrativos

e também se tem a ultima versao do MDAC instalado

Compartilhar este post


Link para o post
Compartilhar em outros sites

verifiqque as permissões muitas vezes esse erro pode ser direitos administrativos

e também se tem a ultima versao do MDAC instalado

 

Velho... de uma analisado no code... repare nessa parte...

 

Sub Abre_Conexao
 Set conntemp = Server.CreateObject("ADODB.Connection")
 conntemp.Open Application("c:/vendas/re/Conecta_bd.mdb")
End Sub

 

esta correto??? claro que não.

 

Por isso não te entendo, pois não analisando e postando suposições você enrola a cabeça do user, pois basta analisar o code e ver aonde esta o erro.

 

Sugeriria que caso você não saiba aonde encontra-se o erro, não de suposições do que pode ser, pois ao invés de ajudar você da vários giros nada a ver e no final o usuário certamente se sentira ainda mais confuso.

 

Neste caso o erro é evidente e você o ignora mesmo e da uma suposição totalmente sem noção do porque talvez do erro.

 

Doidera.

Compartilhar este post


Link para o post
Compartilhar em outros sites

usa assim, cria um arquivo de conexao

atraves de sub

 

<%
Sub AbrirConexao
	Set cnnBanco = Server.CreateObject("ADODB.Connection")
	cnnBanco.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("../../dados/associados.mdb")
End Sub
Sub FecharConexao
	cnnBanco.Close
	Set cnnBanco = Nothing
End Sub	
%>

 

 

e depois chama ele com o innclude na pagina que irá usar o bd

 

<!--#include file=..conn/conexao1.asp"-->
  <% 'abrir a conexao
  call abreconexao

 

nao esqueça de declarar todas as variaveis das duas paginas

Compartilhar este post


Link para o post
Compartilhar em outros sites

está dando esse erro

 

Microsoft OLE DB Provider for ODBC Drivers erro '80040e10'

 

[Microsoft][Driver ODBC para Microsoft Access] Parâmetros insuficientes. Eram esperados 1.

 

/vendas/re/logar.asp, linha 15

 

a linha é rsLogar.Open sql, conn

da pagina logar.asp

 

form.asp

<html> 
<head> 
<title>login.asp</title> 
</head> 
<body bgcolor="aqua"> 
<form action="logar.asp" method="POST"> 
Informe nome e senha: 
<p> 
Login -> <input NAME="login" size="20"><br> 
Senha -> <input type="password" NAME="senha" size="20"><br> 
<hr> 
<input type="submit" value="Conectar"> 
<input type="reset" value="Limpar"> 
</form> 
</body> 
</html>

 

logar.asp

<%

Set conn=Server.CreateObject("ADODB.Connection")
drv= "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ="& Server.MapPath("conecta_bd.mdb") & ";"
conn.Open drv

login=Request.QueryString("login") 'aqui recuperamos o login digitado, através da QueryString
senha=Request.QueryString("senha") 'aqui recuperamos a senha digitado, através da QueryString

'SQL QUE SELECIONA OS DADOS DO USUARIO CASO O LOGIN E A SENHA ETEJAM CORRETOS
sql = "SELECT * FROM usuarios WHERE login = '" & login &"' AND senha = '" & senha & "' "

'SETAMOS A VARIAVEL rsLogar e ABRIMOS O COMANDO SQL
Set rsLogar = Server.CreateObject("ADODB.Recordset")
rsLogar.Open sql, conn

'A CONDIÇÃOˆ -  SE CHEGOU AO FIM "eof" DO BANCO DE DADOS, SIGNIFICA QUE 
'NAO EXISTE NADA COM ESSE LOGIN E COM ESSA SENHA 
'SENAO "Else" ELE ABRE A SESSAO 'Entrada' que é igual a "sim" E JUNTAMENTE PEGA OS DADOS DO USUARIO PARA USAR NAS PAGINAS SEGUINTES...

'Segue abaixo 

if (rsLogar.eof) Then

Response.Write "ERRO - Login ou Senha incorretos"

Else

Session("entrada") = "sim"
Session("nome") = rsLogar("nome")

Response.redirect("pagina_restrita.asp")


End If

%>

 

logout.asp

<%
Session.Abandon()
Respopnse.Write "Sessão Finalizada"
%>

pagina_restrita.asp

<%
'AQUI CASO NAO ESTEJA LOGADO VAI PARA A PAGINA DE LOGIN
if Session("entrada") <> "sim"  then
response.Redirect("login.asp")
end if
%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

O nome da tabela é exatamente usuarios ?

 

Os campos são exatamente login e senha ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

seguinte eu ja consegui fazer funcionar o banco de dados quando eu digito o login e a senha entra na pagina pagina_restrita.asp

 

ai quando eu digito o login e a senha errada vai pra pagina logar.asp ai tem um link que vai pra pagina de login

 

como eu faço pra funcionar assim eu entro no sistema ai depois de um tempo quero que o usuario logado encerra a sessão ai temque logar de novo

Compartilhar este post


Link para o post
Compartilhar em outros sites

dá uma olhada neste link, pode te ajudar

um sistema de login mais gerenciado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Novamente a resposta esta na cara e ninguém vê...

 

repare neste seu code...

 

<%
Session.Abandon()
Respopnse.Write "Sessão Finalizada"
%>

pagina_restrita.asp

<%
'AQUI CASO NAO ESTEJA LOGADO VAI PARA A PAGINA DE LOGIN
if Session("entrada") <> "sim"  then
response.Redirect("login.asp")
end if
%>

 

repare no começo do code essa linha...

 

Session.Abandon()

 

Isso significa que você quer destruir todas as sessions da sua página... depois abaixo... mesmo depois de ter destruido as sessions... você chama uma session que não existe.. pois você destruiu todas as seções no começo do code... você esta chamando a session assim...

 

if Session("entrada") <> "sim"  then
response.Redirect("login.asp")
end if

 

Nesse caso seu if faz a analise e se for diferente da um redirect... sempre será diferente, pois o valor da session será nulo já que no começo do code você destruiu todas as sessions.

 

Outra coisa é na segunda linha do seu code...

 

Respopnse.Write "Sessão Finalizada"

 

Você colocou Respopnse.Write....

 

Ta errado, é response.write

 

Ou seja...

 

Response.Write "Sessão Finalizada"

Compartilhar este post


Link para o post
Compartilhar em outros sites

e ai galera beleza

 

eu estou na pagina inicial do menu ai eu como saber se tem como eu ficar sem mexer por um tempo e sair sozinho do sistema e ir para a pagina login para o usuario logar de novo

 

como eu faço isso

Compartilhar este post


Link para o post
Compartilhar em outros sites

dá uma analisada naquele link que te passei, tem varias opções para ver se o user ja esta logado, se vai fazer login novamente

e dependendo do erro que ele tiver você é redirecionado para uma pagina com uma mensagem para cada erro, ele abre uma pagina que se fecha automaticamente depois de 5 seg., apenas como aviso ao user

Compartilhar este post


Link para o post
Compartilhar em outros sites

e ai galera beleza

 

login.asp

<%@ Language=VBScript %>
<%Response.Expires = 5%>
<!--#include file="header.asp"-->

<br><center>
<font size=4 color=DarkRed><b>:.. Login ..:</b></font><br>
<br>

<%

   ip_usr = Request.ServerVariables("REMOTE_ADDR")
UserName = Request.Form ("UserName")
Password = Request.Form ("Password")

if UserName<>"" then
	if Password<>"" then 
		set conn = Server.CreateObject ("ADODB.Connection")
		conn.Open Application("connString")
		query = "SELECT Id FROM Members WHERE UserName='" & UserName & "' AND Password='" & Password & "'"
		set rs = conn.Execute (query)

		if rs.eof then

			Response.Write "<p class=errmsg>Usuario ou senha Invalidos!</p>"
			conn.Close
		else

			Session("member") = rs("Id")
			rs.close
			set rs =  nothing

			conn.Execute ("UPDATE User_LogTime SET offline=True WHERE offline=False AND user_id=" & session("member"))
			query = "INSERT INTO User_LogTime (user_id, SID, Login_Time, user_ip) VALUES (" & Session("member") & "," & Session.SessionID & ",#" & now() & "#, '" & ip_usr & "')"
			conn.Execute (query)
			conn.close
			set conn = nothing

			Response.Redirect "home.asp"
		end if	
	else
		Response.Write "<p class=errmsg>Usuario ou Senha Incorretos</p>"
	end if
end if

%>

<form action="login.asp" method="Post" id="form1" name="form1">
<table>
<tr>
  <td class=fieldlabel> Usuario:</td>
<td>
  <input type="text" name="UserName" class=defaultsmall>
</td>
</tr>
<tr>
  <td class=fieldlabel> Senha:</td>
   <td>
     <input type="password" name="Password" class=defaultsmall>
   </td>
</tr>
<tr>
<td> </td>
<td width="35%" align="left"><input type="submit" value="Logar" name=submit1 class=defaultsmall></td>
<td width="35%" align="left"><input type="submit" value="Deslogar" name=submit1 class=defaultsmall Style="Width=100px" onClick="location.href='encerra_sessao.asp'"></td>

</tr>
</table>
</form>

 

encerra_sessao.asp

<script language="JavaScript">
function logOff(){
if(confirm('Deseja encerrar sua sessão?')){document.location='encerra_sessao.asp'} 
}
</script>

.
.
.

<%

Response.Redirect("login.asp")
Session.Abandon()
%>

 

quando eu clico no botão deslogar na pagina login.asp ele deveria ir pra pagina encerra_sessao.asp mais ele não vai

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu uso assim para encerrar totalmente a sessão do user

 

response.expires = 0
response.expiresabsolute = Now() -1
response.addHeader "pragma","no-cache"
response.addHeader "cache-control","private"
Response.CacheControl = "no-cache"
Session.Contents.RemoveAll()
Session.Abandon

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.