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

Saber Quem Esta Online


Marianne

Pergunta

Tenho BD access e uma tabela que tenho todos meus usuarios cadastrados nela.

quando o usuario se loga crio uma session "x".. igual para todos.

Ao ponto.. como posso listar todos usuarios logados naquele momento?

Deixei uma barra lateral que irá colocar o nome cadastrado no BD um a um( os que estao online.

não sei se vou usar o global.asa, mas este é o meu..

tks mais uma vez!!!!

<script LANGUAGE=VBScript RUNAT=Server>

Sub Application_OnStart

Application("visits")

Application("Active") = 0

End Sub

Sub Application_OnEnd

End Sub

Sub Session_OnStart

Session.Timeout = 30

Session("Start") = Now

Application.Lock

Application("visits") = Application("visits") + 1

intTotal_visitors = Application("visits")

Application.Unlock

Session("VisitorID") = intTotal_visitors

Application.Lock

Application("Active") = Application("Active") + 1

Application.Unlock

End Sub

Sub Session_OnEnd

Application.Lock

Application("Active") = Application("Active") - 1

Application.Unlock

End Sub

</SCRIPT>

bdcadastro.mdb

Tabela( nome, senha, depto)

Link para o comentário
Compartilhar em outros sites

Posts Recomendados

  • 0

Você não precisa usar global.asa não.

Para listar os usuários online, primeiramente você terá de fazer o seguinte:

- criar uma tabela usuarios_online e colocar todos os campos necessários

- cada vez que que o cara efetuar o login, você insere alguns dados do membro nesta tabela.

- ai depois é só você listar os dados desta tabela, assim mostrando os usuarios online.

- quando o usario sair do site você terá de fazer um eskema pra excluir os dados da tabela usuarios_online.

Não é fácil mas também não é difícil...

Abraços!

Link para o comentário
Compartilhar em outros sites

  • 0

Bem...

Realmente é a parte mais difícil...

Eu já comentei isso aki no fórum, faça uma busca por login ou logout.

você pode criar uma função em javascript para quando a pessoa fecha o navegador, chamar o onUnload da body, e abrir uma janela (pequena de preferência) com uma página asp para efetuar o logout.

Mas se o user tiver caído ou ele não estiver aceitando uso de javascripts, já era.

Eu no meu site fiz um script q verifica de 1 em 1min qm tá online com data 1min menor q a de agora, dae excluo... e já verifico em seguida se o mesmo tá on, como não vai tar, insiro...portanto, o cara sai do site, dae qm tá lá navegando faz o serviço pelo cara, dae ele deixa de estar on...

Kebrem a cabeça aí...

Link para o comentário
Compartilhar em outros sites

  • 0

Hehe..

Eu montei quase a mesma coisa guto..

Mas.. em todas as paginas.. Sempre que a pagina for aberta, dá um UPDATE na tabela de usuarios online alterando a hora que ele entrou.. e o link que acessou.

Nessa mesma função.. eu verifico se existe no bd algum registro com tempo > 2 min (eu uso 2.. hehe)

Se tiver, exlui ele.. senao, deixa assim..

Basicamente é isso..

Fazer o esquema do javascript não élegal.. porque se a conexao cair.. navegador travar.. ou qualquer outra coisa.. já não funciona direito..

Ate mais

Link para o comentário
Compartilhar em outros sites

  • 0

e como chamar essa funçao se o cara clicar em fechar a janela ???

Eu também já contestei e continuo contestando sobre esta forma de vericar usuarios on-line salvando em banco de dados sem usar o global.asa.

As duas formas juntas (global.asa + salvar db) podem ser interessantes.

Se o cara não fechar a janela ou se o micro travar você não vai saber quando o usuario saiu.Por mais que vocês falem que funcina e por mais estratégias mirabolantes para que o sistema saiba que o usuario saiu, eu não acredito que funcione 100%.

E tenho dito...

T+

Link para o comentário
Compartilhar em outros sites

  • 0

Decio..

porque você acha isso?

olha só..

Sempre que algum visitante clicar em algum link da pagina.. uma rotina verifica o banco de dados, e testa se existe algum visitante inativo por mais de 2 minutos.

se existir, a rotina exclui ele.

porque não é 100%?

só não fica 100% porque, nesses 2 minutos, o cara pode ter saido.. e assim não esta mais online..

mas o que é 2 minutos?

pode diminuir esse tempo tb.. bem simples..

não vejo nenhum porém nesse esquema todo..

o global.asa não é suportado por todos os servidores, por isso não uso ele

na duvida de como montar.. olha no tópico de funções..

eu coloquei um link explicando la..

Link para o comentário
Compartilhar em outros sites

  • 0

eu arrumei ontem meu sistema.

agora não tem erro tanto pra visitantes como pra membros online e invisiveis.

para mecher com membros invisiveis uso cookies até.

para ver qm tá no site independente de ser membro cadastro logado ou visitante comum, eu excluo qm tá a + de 1min ON no site, e logo insiro este mesmo cara como on... não tem erro, 100% seguro e sempre funfanfo legal.

eu só dou os toks, mas dar o código desse meu login, desculpe.. heheeh... nã nã ni nã nã! tongue.gif

Link para o comentário
Compartilhar em outros sites

  • 0

e aí bicicleta, beleza?

tipo.. eu tb usava o global.asa

Mas teve um tempo que fui obrigado a usar servidores gratuitos.. pra hospedar paginas asp..

e nos gratuitos.. nenhum permitia o global.asa

por isso resolvi bolar o esquema com banco de dados.. (que na verdade eu apenas montei.. porque o esquema todo eu peguei do site freecode)

é só um alternativo.. mas convenhamos que o global.asa dá 100% de certeza de funcionamento..

Link para o comentário
Compartilhar em outros sites

  • 0

é verdade Dark... Eu também já usei bastante esse método que você citou kara, e é o melhor método depois do global.asa

Lá no iMasters tem um código usando global.asa, tá lá na área de códigos na seção de ASP, se alguém se interessar, dá uma procurada lá...

[]s

Link para o comentário
Compartilhar em outros sites

  • 0

Certamente que dá, já que é pago. biggrin.gif

E como disseram, dê uma procurada lá no site do iMasters

http://www.imasters.com.br

Aki no fórum se você fazer uma busca também deve encontrar mtos resultados para global.asa.

t+

Link para o comentário
Compartilhar em outros sites

  • 0

Qual seu servidor..?

dá uma olhada nas especificações do que ele suporta..

pode estar escrito lá..

dá uma olhada aqui:

http://www.imasters.com.br/web/conteudo/se...824&codsecao=33

t+

Link para o comentário
Compartilhar em outros sites

  • 0

uma opinião somente... Apesar de dar um pouco de trabalho, eu ainda prefiro usar global.asa...

Até que enfim achei alguém que concorda comigo...

dark0 , eu também já tive que usar um esquema de banco de dados por não poder usar o Global.asa , mas convenhamos , não funciona em todas as situações. O ASP cancela uma sessão de usuario se ele ficar inativo por um tempo pré-determinado , e isto não tem como você saber somente contando os 2 minutos.

Link para o comentário
Compartilhar em outros sites

  • 0

ué?

e qual o problema?

se o asp cancelar a sessão.. ele não estará mais online.

Se ele navegar no site de novo.. ele estará online.. e sera cadastrado no banco de novo.. contando mais um online..

não vejo problema algum nisso..

isso só difere no caso de como você montar a estrutura na tabela do banco pra identificar cada usuario online..

mas cada um tem um modo de programar e um gosto..

eu sou o tipico usuario que sempre vai pelo caminho mais dificil..

Mas se seu servidor aceita global.asa.. use-o.. caso contrario.. apele pra banco de dados mesmo!

t+

Link para o comentário
Compartilhar em outros sites

  • 0

hehe

é isso ae bicicleta!

mas olha aqui:

http://scriptbrasil.com.br/forum/index.php...ndpost&p=114954

se você procurar na net, existem milhares de explicações de como fazer..

mas quando eu montei um script desses.. segui a base desse link do freecode..

leia, preste atenção.. pense e monte o seu!

até mais!

Link para o comentário
Compartilhar em outros sites

  • 0

ué?

e qual o problema?

se o asp cancelar a sessão.. ele não estará mais online.

Então dark0, é ai que está o problema . Em alguns códigos apresentados aqui, o cara salva no banco de dados que o usuario esta on-line.Quem vai dizer para o banco de dados que o usuario saiu?.Cadastrar o mesmo usuario on-line eu não achei legal. mas é só minha opinião.afinal isto é um fórum não é??

Abraços. cool.gif

Link para o comentário
Compartilhar em outros sites

  • 0

ué?

e qual o problema?

se o asp cancelar a sessão.. ele não estará mais online.

Então dark0, é ai que está o problema . Em alguns códigos apresentados aqui, o cara salva no banco de dados que o usuario esta on-line.Quem vai dizer para o banco de dados que o usuario saiu?.Cadastrar o mesmo usuario on-line eu não achei legal. mas é só minha opinião.afinal isto é um fórum não é??

Abraços. cool.gif

não sei se ta certo......... mais se usasse um update??? no momento que o cara fecha a janela abre outra para fazer isso!!! ela dá o update e fecha

Link para o comentário
Compartilhar em outros sites

  • 0

hehehe

então..

se ele não estara mais online.. o codigo vai ver o tempo dele no site. se não tiver na condição, ele exclui o cara.

tipo:

- você entra no site à 00:00. fica lá sem clicar em nenhum link.

- eu entro à 00:05. quando eu entrar, o codigo faz um select.. e vê que você entrou no site à 00 e não nesses ultimos 05 minutos, não clicou em nada. logo, você não esta online. então, seu acesso é excluido.

- você resolve clicar num link à 00:06. o codigo faz um select, e percebe que você não ta mais na tabela de online. então, você é cadastrado lá.

- eu clico em um link à 00:07. vejo todos os usuarios, e mostro você como online de novo.

Entendeu?

é esse o algoritmo.

Sempre nessa sequencia.. e sempre vai funcionar!

É claro que você pode expressar sua opinião!

Até mais Brother !!!

Abraços,

Dark

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,3k
    • Posts
      652,3k
×
×
  • Criar Novo...