necesito que mi pagina pueda contar las visitas y registrar las ips y el tiempo que trascurre cada usuario, quiero que mi contador incremente solo si la ip no se repiten.
me gustaria que fuera algo sencillo facil de entender.
entre Desarrolladores
Recibe ayuda de expertos
Registrate y pregunta
Es gratis y fácil
Recibe respuestas
Respuestas, votos y comentarios
Vota y selecciona respuestas
Recibe puntos, vota y da la solución
Pregunta
como se crea un contador de visitas
- preguntó
- Web
- 1735 Vistas
- 1 Respuestas
- solucionada
1 Respuesta
Hola @algoritmico,
De la variable de entorno $_SERVER['REMOTE_ADDR'] podés acceder a la IP del que visita la página, luego, bastaría ir cargando las IPs en una tabla de base de datos, junto con la fecha de la visita.
Ahora tenés que decidir algo: si yo navego siempre desde la misma IP, contaré como una visita una vez y luego nunca más? Al menos eso quiere decir tu planteo de que el "contador se incremente solo si la IP no se repite".
Esto es poco útil, porque se acostumbra a que si yo volviese otro día, vuelva a contar como una visita, para lo que tenés que decidir, en caso de que mi IP ya esté, cuanto tiempo considerás que debe pasar entre 2 visitas para que se considere una nueva.
Esto implica que antes de agregar una IP, hay que ver si existe, y en base a la fecha de la última visita, ver si se agrega un registro o si no hace falta porque es la misma visita.
Saber cuántas visitas son, luego de determinado qué es una visita, es nada más contar la cantidad de registros en 2 fechas (por eso comencé hablando de la tabla de base de datos, en donde hacer este cálculo es simple).
Luego otra consideración: si hay 20 personas navegando en una oficina o en un cibercafé, todos serán la misma IP, por lo que tu contador no dará un buen resultado en ese caso (aunque la diferencia real en un sitio con muchas visitas no es significativa).
Por último, el tiempo que está un usuario visitando el sitio no se puede determinar, ya que no tenés cómo registrar que se abandona el sitio. La única manera de hacer esto es para usuarios registrados que hayan iniciado sesión, en cuyo caso podés registrar el logout o intentar adivina cuándo abandonó el sitio la próxima vez que entre...
Como ves, el problema que planteás es amplio y complejo, por lo que las soluciones en general no serán fáciles de entender...
Te dejo un enlace con un ejemplo de implemetación de todo esto. Comprender primero bien el problema ayuda a que el código sea fácil de entender.
Saludos cordiales!
PD: los proveedores de hosting generalmente proveen estadísticas de visitas basadas en los LOG del servidor. También tenés el [muy intrusivo] Google Analitics que ofrece esto como servicio gratuito [y lo que está a a venta son tus datos]. Tenés una versión de software libre muy similar a Analitics llamada Piwik, en este caso no tenés que aprender a programarla sino a instalarla e incluirla en tu sitio.
Por favor, accede o regístrate para añadir un comentario.
Por favor, accede o regístrate para responder a esta pregunta.
En el blog
-
- 689739
- 1
- Jul 5, 2015
Sin Respuesta
-
- 91
- 0
- Oct 18
-
- 168
- 0
- Jul 9
-
- 542
- 1
- Mar 19
-
- 418
- 2
- Feb 26
-
- 4810
- 0
- Nov 7, 2023
-
- 481
- 0
- Sep 19, 2023
-
- 466
- 0
- Ago 21, 2023
-
- 637
- 0
- May 14, 2023
- ver todas
Preguntas relacionadas
- Como obtener ip de un usuario desde localhost
- ¿Cómo se crea un package en nuget en un proyecto que tiene incluido como referencias otros proyectos?
- Cómo hacer un contador de dos dígitos
- como puedo registrar datos atravez de un formulario pero sin que se carge de nuevo el sitio
- Duda Como Aplicar Correctamente una Funcion Distinct cuando se tiene mas de un campo en Php
Actividad Reciente
alyvrs preguntó Oct 19
Ayuda , necesito mostrar datos creados solo por el…ManHol preguntó Jul 9
pasar un archivo de excel a csv en pythonArtEze respondió Abr 24
Alguien sabe, no me ignorenArtEze seleccionó una respuesta Abr 24
Bajar extensión de Chrome sin actualizar el navega…ArtEze respondió Abr 24
Bajar extensión de Chrome sin actualizar el navega…ArtEze preguntó Abr 24
Bajar extensión de Chrome sin actualizar el navega…ArtEze respondió Abr 24
No me deja instalar OracleArtEze respondió Abr 24
Formulario que guarde los datos de un jsonArtEze comentó Abr 24
Script /boot/ scrapingSantiago2610 comentó Mar 23
Acualizar ChoiceField en django
Ultimas Preguntas
Preguntas relacionadas
- Como obtener ip de un usuario desde localhost
- ¿Cómo se crea un package en nuget en un proyecto que tiene incluido como referencias otros proyectos?
- Cómo hacer un contador de dos dígitos
- como puedo registrar datos atravez de un formulario pero sin que se carge de nuevo el sitio
- Duda Como Aplicar Correctamente una Funcion Distinct cuando se tiene mas de un campo en Php
Usuarios Top
- Leonardo-Tadei
- 227320 Puntos
- Peter
- 150480 Puntos
- white
- 75880 Puntos
- carlossevi
- 63580 Puntos
- magarzon
- 30650 Puntos
- pregunton
- 20400 Puntos