Ir para conteúdo
Fórum Script Brasil
  • 0

Recuperar Seção


victormartins

Pergunta

Olá pessoal!

Eu estou fazendo um log de acesso à um sistema de login... porém eu queria fazer com que ele verificasse se a pessoa obteve sucesso no login.

logar.asp = A pessoa digita o usuário, senha...

login.asp = Verifica os dados, grava no log

default.asp = Página depois de logado

login.asp:

<%
'Conectando ao banco:
url_conexao = Server.MapPath("logs/log_acesso_secret.mdb")
set conexao = Server.CreateObject("ADODB.Connection")
conexao.open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&url_conexao

'capturando o ip
ip = request.servervariables("remote_addr")
' data de acesso
data = Right("00" & Day(date),2)&"/"& Right("00" & Month(date),2)&"/" & Year(date)
' horário de acesso
hora = time()
' recupero o username
user = Request.Form("login")
' tento recuperar se a seção foi criada ou não
secao = Session("login")
'criaando o sql, que vai inserir os dados no banco
sql = "insert into tabela (tabela_ip, data, hora, login, secao) values('"&ip&"','"&data&"','"&hora&"','"&user&"','"&secao&"')"

'executando o sql, inserindo os dados..
conexao.execute(sql)
%>
<%

set conexao = server.createObject("adodb.connection")

conexao.Open "Provider=Microsoft.JET.OLEDB.4.0; Data Source=" & server.MapPath("dlog/bdlog.mdb")

sql = "select * from login where login = '"&request.form("login")&"' and senha = '"&request.form("senha")&"'"

set rsLogin = conexao.execute(sql)

if not rsLogin.eof then

varNomeLogin = rslogin("nome")
varID = rsLogin("ID")
Login = rsLogin("login")
Senha = rsLogin("senha")

Session("nome")= varNomeLogin
Session("ID")= varID
Session("login")=TRUE
Session("senha")=TRUE
Session.Timeout = 120
Response.Redirect "default.asp?id="&(varID) &""

else
Session("login")=False
Session("senha")=False
Session.Abandon()
Response.Redirect "logar.asp"

end if

conexao.close
rsLogin.close
set conexao = nothing
set rsLogin = nothing
%>

Então tento utilizar:

secao = Session("login")

sql = "insert into tabela (tabela_ip, data, hora, login, secao) values('"&ip&"','"&data&"','"&hora&"','"&user&"','"&secao&"')"

Porém... como a seção é criada após esse código ele não grava no log.

Tem alguma outra maneira de fazer?

Neste jeito ele verificaria se a seção é Verdadeira ou Falsa :P

Obrigado!

[]´s

Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0

Eu não sou muitooo baum com ASP...

<%
'Conectando ao banco:
url_conexao2 = Server.MapPath("logs/log_acesso_secret.mdb")
set conexao2 = Server.CreateObject("ADODB.Connection")
conexao2.open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&url_conexao2

'capturando o ip
ip = request.servervariables("remote_addr")
' data de acesso
data = Right("00" & Day(date),2)&"/"& Right("00" & Month(date),2)&"/" & Year(date)
' horário de acesso
hora = time()
' recupero o username
user = Request.Form("login")
' tento recuperar se a seção foi criada ou não
secao = Session("login")
'criaando o sql, que vai inserir os dados no banco
'sql = "insert into tabela (tabela_ip, data, hora, login, secao) values('"&ip&"','"&data&"','"&hora&"','"&user&"','"&secao&"')"

'executando o sql, inserindo os dados..
'conexao.execute(sql)
%>
<%

set conexao = server.createObject("adodb.connection")

conexao.Open "Provider=Microsoft.JET.OLEDB.4.0; Data Source=" & server.MapPath("dlog/bdlog.mdb")

sql = "select * from login where login = '"&request.form("login")&"' and senha = '"&request.form("senha")&"'"

set rsLogin = conexao.execute(sql)

if not rsLogin.eof then
sql2 = "insert into tabela (tabela_ip, data, hora, login, secao) values('"&ip&"','"&data&"','"&hora&"','"&user&"','"&secao&"')"
conexao2.execute(sql2)

varNomeLogin = rslogin("nome")
varID = rsLogin("ID")
Login = rsLogin("login")
varLogin = rsLogin("login")
Senha = rsLogin("senha")

Session("nome")= varNomeLogin
Session("ID")= varID
Session("login2")=varLogin
Session("login")=TRUE
Session("senha")=TRUE
Session.Timeout = 120
Response.Redirect "default.asp?id="&(varID) &""

else
Session("login")=False
Session("senha")=False
Session.Abandon()
Response.Redirect "logar.asp"

end if

conexao.close
rsLogin.close
set conexao = nothing
set rsLogin = nothing
%>

Fiz certo? O_O

SE fiz... ele não grava se a seção foi verdadeira ou falsa e só grava se a pessoa conseguiu efetuar o login :P

Link para o comentário
Compartilhar em outros sites

  • 0

A idéia do log é verificar se alguém tentou entrar, se conseguiu ou não.

Ai ele grava o IP de quem tentou e/ou conseguiu, o usuário que tentou e/ou conseguiu, hora, data e etc...

Então para saber se conseguiu entrar ou não, ele verificaria se a seção foi True ou False, ai True é que conseguiu e false é que não conseguiu, foi o que eu tentei fazer :P

Mas, ele não gravava a seção pois ela é gerada depois da gravação do log, e se eu colocasse o código depois de criar a seção ele não gravava pois ele redireciona para default.asp ou logar.asp antes.

[]'s

Link para o comentário
Compartilhar em outros sites

  • 0

Consegui...

Session("nome")= varNomeLogin
Session("ID")= varID
Session("login2")=varLogin
Session("nivel")=varNivel
Session("login")=TRUE
Session("senha")=TRUE
secao = Session("login")
sql2 = "insert into tabela (tabela_ip, data, hora, login, secao) values('"&ip&"','"&data&"','"&hora&"','"&user&"','"&secao&"')"
conexao2.execute(sql2)
Session.Timeout = 120
Response.Redirect "default.asp?id="&(varID) &""

else
Session("login")=False
Session("senha")=False
secao = Session("login")
sql2 = "insert into tabela (tabela_ip, data, hora, login, secao) values('"&ip&"','"&data&"','"&hora&"','"&user&"','"&secao&"')"
conexao2.execute(sql2)
Session.Abandon()
Response.Redirect "logar.asp"

Coloquei para ele gravar depois que cria a seção e antes que ele redireciona, funcionou certinho :D

Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      652k
×
×
  • Criar Novo...