
20/02/2002, 15:52
|
| | 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!!! |