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

(Resolvido) Como fazer funcionar logando usuario?


ANDRE_GUSTAVO

Pergunta

Fala ai galera....

aqui estou com mais uma dúvida, passei horas tentando resolver o problema mas não consegui, o problema é o seguinte:

TENHO UM FORMULARIO NO QUAL O USUARIO ENTRA COM SEU LOGIN E SUA SENHA, ESSE FORMULARIO ENVIA OS DADOS PARA A PÁGINA QUE VALIDA O ACESSO, E GOSTARIA QUE OS DADOS DESSE USUARIO QUE ACABA DE LOGAR NO SITE, SEJA MOSTRADO NA PAGINA.

ex.: Seja bem-vindo(a), Andre Gustavo, seu login é: andregustavo.castro, Usuário nº: 10

ESSE AI é O CODIGO QUE FAZ A VALIDAÇÃO

<%@LANGUAGE="VBSCRIPT" %>
<% option explicit %>
<!--#include file ="conexaoDB.inc" -->

<%
DIM conexaoDB , varLogin , varSenha , rsSQL , rsValida 

    varLogin = Request.Form("usuario_login")
    varSenha = Request.Form("senha_login")
    varLogin = REPLACE(Request.Form("usuario_login"),chr(39),"''")
    varSenha = REPLACE(Request.Form("senha_login"),chr(39),"''")
    
rsSQL = " Select * From TBL_USUARIOS WHERE USUARIO =  '"& varLogin &"'  and SENHA=  '"& varSenha &"' "

call abreConexao
Set rsValida = conexaoDB.Execute(rsSQL)


    if rsValida.EOF then
        response.Redirect("errologin.asp")
    else
response.Redirect("index_loginOK.asp")
    end if

CALL fechaConexao
SET rsValida = Nothing
%>
ESSE CODIGO TA FUNCIONANDO BELEZA, FAZ A VERIFICAÇÃO E ENVIA PARA "index_loginOK.asp" ou para "errologin.asp" VALIDAÇÃO OK! AGORA NA PÁGINA "Index_loginOK.asp", eu fiz com que fosse exibido os dados do usuario dessa maneira que esta ai no codigo, da uma olhada Index_loginOK.asp
<%@LANGUAGE="VBSCRIPT" %>
<% option explicit %>
<!--#include file ="conexaoDB.inc" -->
<!--#include file ="global.asa" -->

<%
DIM conexaoDB , rsSession , rsSQLSession ,  varID_USUARIO , varUSUARIO , varNOME , varEMAIL 

rsSQLSession = " Select * From TBL_USUARIOS  "
call abreConexao
Set rsSession = conexaoDB.Execute(rsSQLSession)

varID_USUARIO = rsSession("ID_USUARIO")
varUSUARIO = rsSession("USUARIO")
varNOME = rsSession("NOME")
varEMAIL = rsSession("EMAIL")
    
Session (" ID_Usuario ") = varID_USUARIO
Session (" USUARIO ") = varUSUARIO
Session (" NOME ") = varNOME
Session (" EMAIL ") = varEMAIL


rsSession.close
CALL fechaConexao
SET rsSession = Nothing
%>

Agora sim... ao problema iremos! quando eu saio da página, ou ate fecho o browser, e abro outro browser e entro com outro login e outra senha, é exibido os dados do usuario que tinha logado anteriormente, gostaria que me ajudassem com esse problema se possivel.

eu tentei colocar um link voltando para index.asp, mas também não deu certo! ainda continua exibindo os dados de outro usuario.

como seria esse link?

Como faço o LogOut?

A última coisa....

Sempre quando é necessario utilizar uma session, é expressamente obrigatorio o uso da GLOBAL.ASA?

Se alguém puder me explicar sobre isso também.... eu agradeço ....

Acho que por enquanto é so isso mesmo!

Desde já muito obrigado pela atenção e ajuda de todos!

Valeu !

Editado por ANDRE_GUSTAVO
Link para o comentário
Compartilhar em outros sites

8 respostass a esta questão

Posts Recomendados

  • 0

Fala André, td bem?

Então, primeiro ao global.asa: não, não é necessário que o utilize. O global.asa é um "arquivo" que visa facilitar alguns processos dos programadores, utilizados normalmente em e-commerce, serve para declarar variáveis, controlar eventos do começo ao fim de uma programação entre outros.

Para terminar com a sessão se usa:

<%session.abandon%>
normalmente se coloca um botãzinho de logout mas já vi em javascript ("acho") uma funçãozinha que ao fechar a página do navegador automaticamente executa uma função que submete o <%session.abandon%>... mas daí terá que postar lá em JS. Agora a dúvida que eu fiquei é que você postou perguntando se precisa ou não usar o Global.asa e pelo que eu vi em seu código você já está o utilizando:
<!--#include file ="global.asa" -->
Outra coisa ainda que eu não consegui ver é a parte do código onde você está imprimindo em tela as infs do usuário... porque ali tb pode ter algum errinho que pode estar ocasionando esse problema que você mencionou. E por último ainda existe a session.timeout que você pode usar para colocar um tempo na sua sessão e após esse tempo abandonar a sessão automaticamente:
Session.Timeout = VALOR_MINUTOS

espero ter ajudado... qualquer coisa posta aí denovo!

[]'s Rafael Spilki

Link para o comentário
Compartilhar em outros sites

  • 0

Fala ai Rafael, beleza ?!?!?

Cara valeu por esclarecer algumas dúvidas minhas.

Pois é cara, eu to usando global.asa , pois quando tentei fazer

a session sem a global, eu não consegui exibir as informarções,

depois q coloquei uma global deu certo. A maneira de utilizar as session

é a mesma com ou sem global?

Cara eu tentei um logout da seguinte maneira:

tinha um botao "SAIR" e no botão eu coloquei o link voltando para index.asp e abandonando a sessão, mas não deu certo, no link coloquei "index.asp?<%session.abandon%>". Se possivel manda um exemplo de logOut.

é verdade cara, eu esqueci de postar, a parte do código que imprime as informações do usuario.

To mandando exibir assim:

<% =Session(" NOME ") %>
<% =Session(" USUARIO ") %>
<% =Session(" ID_USUARIO ") %>

valeu pela ajuda....

Link para o comentário
Compartilhar em outros sites

  • 0

Da uma sacada nesse link aqui:

http://www.macoratti.net/asp_cok1.htm

acho que explica tudo... se o problema persistir sugiro postar seu codigo completo, inclusive com o global.asa para que eu possa te ajudar melhor...

E sim, em princípio, o Global.asa é um arquivo que tipo "acumula" várias "coisas" dentro dele... mas a forma de usar tanto dentro do arquivo como fora do arquivo são as mesmas... muda talvés um pouquinho na hora de executar algo específico... mas nada de mais...

tenta aí e depois posta o resultado...

[]'s Rafael Spilki

Link para o comentário
Compartilhar em outros sites

  • 0
exemplo de logout

link:

<A href=default.asp?act=sair>sair</a>
default.asp
act=request.querystring("act")

if act="sair" then
session.abandon()
response.redirect "pagina.asp"
end if
Fala ai bareta... beleza? Cara o esquema que você me passou ta beleza, mas não ta limpando o valor das variaveis da session. Quando efetuo outro login com outro nome de usuario, é exibido na tela os dados do usuario anterior. tem alguma coisa haver com a globlal.asa? Pois já tentei limpar os valores das variaveis colocando o sessio.abandon em uns trocentos lugares nos meus arquivos, mas não limpa . Da uma olhada ai global.asa
<script language= vbscript runat=server>
Sub Session_OnStart
Session.Timeout = 15
end Sub
Sub InicializaVariaveis
Session("id_usuario") = 0
Session("usuario") = ""
Session("nome") = ""
end Sub

</SCRIPT>

valeu!

Link para o comentário
Compartilhar em outros sites

  • 0

Oi André... foi meio correria aqui hoje a tarde... mas enfim... algumas dúvidas pra poder entender e te ajudar melhor:

1) vi ali que o seu timeout é de 15min... pergunto... se após fazer o ligin você ficar 15 min sem usar o site... paradão mesmo... e depois de 15 min der um refresh na página... a sessão contnua aberta?

2) Além do teste acima, que caso você não tenha feito ainda peço para fazeres pra confirmarmos algumas coisas pergunto: se apos fazer o login se você já tentou fazer uma limpeza nos cookies, historicos e etc do seu navegador e se após essa limpeza a sessão continua?

Faça esses dois testes acima e poste o seu codigo completo do jeito que ele está agora... fica mais fácil quando vejo o todo... da pra entender melhor sua lógica de programação e identificar melhor o problema, ok? Pensando assim subjetivamente neste caso de não efetuar o logout podem ser muitas coisas... e passariamos horas aqui tentando descobroir.... com a resposta aos dois testes acima e com o codigo completo certamente sairá do problema, ok?

Fico aguardando...

[]'s Rafael Spilki

Link para o comentário
Compartilhar em outros sites

  • 0

FALA AI GALERA....

O NÉGOCIO AQUI DEU CERTO AGORA....

VALEU GALERA, PELA AJUDA!

EM BREVE ESTAREI AQUI NOVAMENTE

HEHEHHEHE

OLHA SO COMO FICOU:

login.asp

<%@LANGUAGE="VBSCRIPT" %>
<% option explicit %>
<!--#include file ="conexaoDB.inc" -->
<!--#include file ="global.asa" -->

<%
DIM act
if act="sair" then
session.abandon("nome")
session.abandon("id_usuario")
session.abandon("usuario")
response.redirect "index.asp"
end if
%>
validalogin.asp
<%@LANGUAGE="VBSCRIPT" %>
<% option explicit %>
<!--#include file ="conexaoDB.inc" -->
<!--#include file ="global.asa" -->

<%
DIM conexaoDB , varLogin , varSenha , rsSQL , rsValida  , ids

    varLogin = Request.Form("usuario_login")
    varSenha = Request.Form("senha_login")
    varLogin = REPLACE(Request.Form("usuario_login"),chr(39),"''")
    varSenha = REPLACE(Request.Form("senha_login"),chr(39),"''")
    
rsSQL = " Select * From TBL_USUARIOS WHERE USUARIO =  '"& varLogin &"'  and SENHA=  '"& varSenha &"' "

call abreConexao
Set rsValida = conexaoDB.Execute(rsSQL)

if rsValida.EOF then
    response.Redirect("errologin.asp")
        else varLogin = rsValida("USUARIO")

session("id_usuario")= rsValida("ID_USUARIO")
session("usuario") = rsValida("USUARIO")
session("nome") =  rsValida("NOME")

 response.Redirect("index_loginOK.asp")
    end if
CALL fechaConexao
SET rsValida = Nothing
%>
loginOK.asp
<%@LANGUAGE="VBSCRIPT" %>
<% option explicit %>
<!--#include file ="conexaoDB.inc" -->
<!--#include file ="global.asa" -->

<%
DIM conexaoDB , rsSession , rsSQLSession ,  varID_USUARIO , varUSUARIO , varNOME , varLogout , recbid

rsSQLSession = " Select * From TBL_USUARIOS  "
call abreConexao
Set rsSession = conexaoDB.Execute(rsSQLSession)

rsSession.close
CALL fechaConexao
SET rsSession = Nothing
%>
global.asa
<script language= vbscript runat=server>
Sub Session_OnStart
Session.Timeout = 15
if Session.Timeout = false then  
session.abandon
end if
end Sub
Sub InicializaVariaveis
Session("id_usuario") 
Session("usuario") 
Session("nome") 
end Sub
</SCRIPT>

Muito obrigado pela ajuda de vocês!

Podem fechar esse tópico. Valeu!

Até breve!

Editado por ANDRE_GUSTAVO
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.


  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...