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

Usuarios Online Sem Global.asa


bareta

Pergunta

Página - 1 activeusers.asp

<%
Sub LogActiveUser
          Dim strActiveUserList
          Dim intUserStart, intUserEnd
          Dim strUser
          Dim strDate

          strActiveUserList = Application("ActiveUserList")

      If Instr(1, strActiveUserList, Session.SessionID) > 0 Then
          Application.Lock
          intUserStart = Instr(1, strActiveUserList, Session.SessionID)
          intUserEnd = Instr(intUserStart, strActiveUserList, "|")
          strUser = Mid(strActiveUserList, intUserStart, intUserEnd - intUserStart)
          strActiveUserList = Replace(strActiveUserList, strUser, Session.SessionID & ":" & Now())
          Application("ActiveUserList") = strActiveUserList
          Application.UnLock
      Else
          Application.Lock
          Application("ActiveUsers") = CInt(Application("ActiveUsers")) + 1
          Application("ActiveUserList") = Application("ActiveUserList") & Session.SessionID & ":" & Now() & "|"
          Application.UnLock
      End If
End Sub
Sub ActiveUserCleanup
Dim ix
Dim intUsers
Dim strActiveUserList
Dim aActiveUsers
Dim intActiveUserCleanupTime
Dim intActiveUserTimeout

intActiveUserCleanupTime = 1 'In minutes, how often should the ActiveUserList be cleaned up.
intActiveUserTimeout = 20 'In minutes, how long before a User is considered Inactive and is deleted from ActiveUserList

If Application("ActiveUserList") = "" Then Exit Sub

If DateDiff("n", Application("ActiveUsersLastCleanup"), Now()) > intActiveUserCleanupTime Then

  Application.Lock
  Application("ActiveUsersLastCleanup") = Now()
  Application.Unlock

  intUsers = 0
  strActiveUserList = Application("ActiveUserList")
  strActiveUserList = Left(strActiveUserList, Len(strActiveUserList) - 1)

  aActiveUsers = Split(strActiveUserList, "|")

For ix = 0 To UBound(aActiveUsers)
  If DateDiff("n", Mid(aActiveUsers(ix), Instr(1, aActiveUsers(ix), ":") + 1, Len(aActiveUsers(ix))), Now()) > intActiveUserTimeout Then
      aActiveUsers(ix) = "XXXX"
  Else
      intUsers = intUsers + 1
  End If 
Next

strActiveUserList = Join(aActiveUsers, "|") & "|"
strActiveUserList = Replace(strActiveUserList, "XXXX|", "")

  Application.Lock
  Application("ActiveUserList") = strActiveUserList
  Application("ActiveUsers") = intUsers
  Application.UnLock

End If

End Sub
%>
Página - 2 ver.asp (exibe a quantidade de usuários online, pode ser colocado em qualquer outra página (não precisa ser exatamente "ver.asp") desde que feito corretamente!)
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<!--#INCLUDE FILE="activeusers.asp"-->
<%
Call LogActiveUser()
Call ActiveUserCleanup()
Response.Write Application("ActiveUsers") & " Online."
%> 
</body>
</html>

muito massa ... mais num testei...

tem um que eu fiz a uma decada.... deixa eu achar minha senha do domaindlx e vou postar aqui....

http://www5.domaindlx.com/bareta/online/on...onlineteste.asp

Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

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