Ver Mensaje Individual
  #2 (permalink)  
Antiguo 20/02/2002, 15:52
vgaray
 
Fecha de Ingreso: octubre-2000
Ubicación: Juarez, Chih.
Mensajes: 161
Antigüedad: 24 años, 7 meses
Puntos: 0
Re: Lista de usuarios activos

Continuación...

Ahora; en el archivo global.asa, coloca lo siguiente en la sección apropiada...

Sub Session_OnEnd

On error resume next
set connVB = server.createobject("ADODB.Connection")
bd= "/sesiones.mdb"
connVB.open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & server.mappath(bd)
set Tabla = server.CreateObject("ADODB.Recordset")
Tabla.open "SELECT * from sesiones where sesion='"& Session.SessionID &"'",connVB,3,2
Tabla("Salida") = Now()
Tabla.Update

Tabla.Close
set Tabla = nothing
connVB.Close
set connVB = nothing

End sub

Listo, lo que haces con el código anterior es buscar al usuario con Session.SessionId actual y editas el campo 'Salida'.

Ahora ya solo crea un página que leerá esa base de datos y muestra los nombres de los usuario que tengan un valor nulo o vació en el campo 'Salida' para listar los 'Nombres de Usuario Activos'.

Otro cosa que podrías agregar es un campo para obtener la diferencia entre los campos 'Entrada' y 'Salida' y sacarás el tiempo que ese usuario visitó tu sitio.

Para probar este código edita la línea...

Session.Timeout=120 'lo default

por esta...

Session.Timeout = 5

(Lo anterior es solo para hacer un prueba rápida)

Nota. Al terminar de hacer las pruebas te recomiendo (abir un pagina de tu sitio y luego cerrar tu navegador) no olvidar poner el valor original de Session.Timeout

Que quedé claro que una sesion de inicia al abrir una página en tu sitio y termina cuando cierras tu navegador o cuando se expira la sesion nombrada en la variable anterior.

PD: Diego, las lógicas que estoy publicando en la sección 'Tips' del foro ASP son mías y cuando no lo sean lo haré saber.


---------------------
Tan libre como gratuito!!!