Ver Mensaje Individual
  #2 (permalink)  
Antiguo 04/05/2005, 08:18
Cluster
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Para estos casos se suele asumir un pequeño margen de error en tu "salida" (fecha/hora), para ello lo que se suele hacer es registrar constantemente en un campo de tu BD (tabla) de ese usuario que "está en el sistema" .. es decir, a cada iteracción con el servidor, guardas la fecha/hora actual en ese campo para ese usuario.

Para determinar que el usuario "ya no está en el sistema" (por qué cerró su ventana sin salir por tu link de "logout") .. mira esa fecha/hora de ese campo y comparala con la fecha/hora actual; si la diferencia es mayor a X tiempo que determines como "inactividad" .. puedes determinar que el usuario "salió" del sistema (por la puerta de "atras") y registrar ese dato en tu actual campo de "fecha/hora de salida".

Ese tiempo que determines de inactividad .. será tu margen de error máximo en tu fecha/hora de salida del sistema.

Por lo menos de esta forma no dependes de como "salga" tu usuario del sistema .. vs al detalle del margen de error comentado.

Un saludo,