La Web del Programador: Comunidad de Programadores
 
    Pregunta:  31082 - COMO SE EL NUMERO DE SESSIONES ABIERTAS (PHP)
Autor:  rodrigo diaz
QUIERO SABER CUANTOS VISITANTES EXISTEN EN MI PAGINA EN FORMA ACTUAL Y NO EL NUMERO DE VISITAS

  Respuesta:  Carlos Castro Puertas
¿Conoces las sesiones?
Pues bien en caso de que para programar tu web hayas utilizado sesiones, es relativamente facil:

Necesitas una funcion que cada vez que se carge una pagina se cree una entrada que asocie el numero de sesion abierto, con la hora a la que fue abierta la pagina.

Como es imposible saber si el usuario que te visita ha cerrado su explorador y se ha ido al cine a donde le haya apetecido se usa una suposicion para hacer el recuento. Yo normalmente hago el calculo de que un usuario permanece en una pagina aproximadamente dos o tres minutos (tb depende del contenido) asi que cuentas las entradas en la base de datos de las sesiones que han efectuado el acceso a cualquiera de las paginas de tu web en los ultimos x minutos y ya tienes un numero bastante aproximado de usuarios online.

Debes tener la precaucion de que si ya existe una entrada en la tabla con ese numero de sesion no añadas un nuevo registro si no que lo actualices con la nueva hora para evitar contar a un usuario 2 veces.

Te recomiento que cada acceso tambien borre las entradas en tus paginas que lleven sin movimiento durante varios minutos.