Buenas,
Tu mismo te has respondido....
Yo para los usuarios que estan viendo la página y no estan logueados, los controlaría por su IP y, sí, los guardaría en una BD antes que en un txt.
Aquí hay un manual que explica exactamente lo que quieres (para que reinventar nada).
Sobre si hay dos usuarios que comparten la misma IP y están al mismo tiempo conectados pues... sinceramente es algo no muy casual la verdad (o eso creo).
Pero bueno, hay que plantearse lo siguiente:
¿Si se diera el caso, la visita la contabilizarias como dos?, ¿o como una?.
Si la vas a
contabilizar como una, pues lo tienes sencillo. Antes de insertar los datos en la base de datos, compruebas que esa IP del visitante no exista. Si existe, querrá decir que hay otro usuario visitando en ese mismo momento la página con esa IP, por tanto, no haces ese nuevo registro...
Y bien, si quieres
contabilizar esas visitas como dos, pues también deberías de comprobar si esa IP existe o no. Si existe, pues en el contador de los usuarios que estan visitando la página, pues les sumas
1.
Como ves es una forma muy simple de hacerlo.
Saludos,