Ir para conteúdo

POWERED BY:

Arquivado

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

hargon

Usuários logados

Recommended Posts

Como eu faço para listar quais usuários estão logados no meu site?

 

Eu poderia armazenar na propria tabela de usuarios... e quando ele clicasse em logout tirava da tabela... mas se ele saisse sem clicar em logout isso não daria certo... o usuario dele continuaria logado.

 

Há uma forma melhor de fazer isso? tlz com global.asa sei lá... alguem sabe?

 

Vlw!

Compartilhar este post


Link para o post
Compartilhar em outros sites

armazena a hora do ultimo acesso de cada usuario e estima um tempo pra alguem ficar off, a partir dai atualiza esta hora a cada visita e quem estiver fora do intervalo esta off

Compartilhar este post


Link para o post
Compartilhar em outros sites

Essa verificação de tempo poderia ser feita dentro do Session_OnEnd no global.asa?

 

Não daria problemas abrir o banco de dados toda vez que uma sessão for encerrada?

Compartilhar este post


Link para o post
Compartilhar em outros sites

tenta fazer tudo com db...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Como eu faria isso no db?

Compartilhar este post


Link para o post
Compartilhar em outros sites

você pode simplesmente criar um campo com a dat hora do ultimo acesso e atualizar a cada nova visita do cara...depois faça um caonta de subtrair simples entre esta e e data hora atual, se for maior que 10 minutos por exemplo, caso você defina assim, o cara ta off senão ta on.Caso ele click em um logout da vida você atualiza pra uma hora 10 minutos atrasada, pra não dar falha...tipo assimtendo isto atualizado você pode selecionar quam ta online por ai

Compartilhar este post


Link para o post
Compartilhar em outros sites

hummmmm agora sim entendi o que você disse...

 

boa idéia... vlw mesmo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu gravei a data no banco de dados no formato 23/1/2005 17:49:25.

 

Como eu faço para fazer a comparação no where, somando apenas a hora e minutos?

 

Ou seria outra coisa que deveria fazer?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Consegui fazer utilizando somente sessões.

 

Segue abaixo o código que criei:

 

global.asa

<script LANGUAGE=VBSCRIPT RUNAT=SERVER> 
Sub Application_OnStart 
 Application("iduser") = 0
 Application("idusername") = 0
End sub 

Sub Application_OnEnd 
End sub 

Sub Session_OnStart
 Session.timeout = 10 
End sub 

Sub Session_OnEnd 
 Application.Lock 
  iduser = split(Application("iduser"),";")
  idusername = split(Application("idusername"),";")
  newiduser = 0
  newidusername = 0
  for x = 1 to ubound(iduser)
   if iduser(x) <> Session.SessionId then
	newiduser = newiduser&";"&iduser(x)
	newidusername = newidusername&";"&idusername(x) 	 
   end if
  next
  Application("iduser") = newiduser
  Application("idusername") = newidusername	
 Application.Unlock 
End sub 
</SCRIPT>

 

-----

login.asp

<% 

 apelido = replace(request.form("usuario"),"'","")
 senha = replace(request.form("senha"),"'","")

 apelido = replace(apelido,">","&gt")
 apelido = replace(apelido,"<","&lt")   

 senha = replace(senha,">","&gt")
 senha = replace(senha,"<","&lt") 

 SQLlogin="SELECT * FROM usuarios WHERE nmusuario='"&apelido&"' AND senha='"&senha&"'"
 set login = ObjConexao.Execute(SQLlogin)
 
 if not login.EOF Then

   Application.Lock
	Application("iduser") = Application("iduser") & ";" & Session.SessionId
	Application("idusername") = Application("idusername") & ";" & login("nmusuario")
   Application.Unlock 
 	 
  else
    response.write "Senha ou Usuário inválido!"
 end if
 login.close 
 set login=nothing 
%>

-----

verusuarioslogados.asp

<%
usuarioslogados = split(Application("idusername"),";")

if ubound(usuarioslogados) = 0 then
 response.write "Nâo existe nenhum usuário logado no momento"
else
 for x = 1 to ubound(usuarioslogados)
    response.write usuarioslogados(x) & "<br>"
 next
end if
%>

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.