Foros del Web » Programando para Internet » PHP »

Contador de visitas _reales_ con PHP (sin MySQL)

Estas en el tema de Contador de visitas _reales_ con PHP (sin MySQL) en el foro de PHP en Foros del Web. Hola al foro. Veréis, mi problema es que no puedo emplear MySQL (o cualquier otra base de datos) ya que mi hosting no ofrece (y ...
  #1 (permalink)  
Antiguo 26/09/2003, 03:00
 
Fecha de Ingreso: mayo-2003
Ubicación: España
Mensajes: 44
Antigüedad: 14 años, 6 meses
Puntos: 2
Contador de visitas _reales_ con PHP (sin MySQL)

Hola al foro. Veréis, mi problema es que no puedo emplear MySQL (o cualquier otra base de datos) ya que mi hosting no ofrece (y por otro lado, no deseo cambiar de servidor puesto que este, restando el detalle de no tener MySQL, me gusta mucho).

He estado buscando en google y en estos mismos foros. El asunto, como esperaba, está hartamente tratado. Pero qué queréis que os diga... no he encontrado todavía (y llevo casi hora y media probando fragmentos de código en PHP) que realmente me satisfaga.

Necesito lo que dice el título de este mensaje de SOS --> contar las visitas REALES (es decir, no contar aquellas en las que el usuario refresca/actualiza la página). He probado a encontrar algún fragmento en PHP que se valga de un archivo de texto y una cookie (es el único modo en que se me ocurre contar las visitas reales y sin uso de MySQL) para ir incrementando un número entero (visitas) que haya guardado en el archivo de texto.

Mi problema es que no conozco PHP. No tengo ni idea Y por más que busco, siempre acabo encontrando lo mismo: contadores simples (o contadores que hacen lo que yo quiero pero que se valen de MySQL)

¿Es posible disfrutar de un contador simple en PHP (que muestre solo el número de visitas en texto --leído del archivo de texto--) sin utilizar MySQL?

Cualquier sugerencia, enlace a algún sitio o fragmentos de código serán más que bienvenidos, muchas gracias de antemano en serio :)

También necesitaría dos contadores más (y lo mismo: que no trabajen con MySQL :()
- Uno para contar las visitas diarias _reales_ (que cuente visites durante 24h y luego se resetee)
- Y otro para contar las visitas activas _reales_ (viendo las conexiones entabladas a la página --¿por IP?-- y contándolas(incrementándolas/decrementándolas) en función a un tiempo determinado (cada 60 segundos) --de otro modo no se me ocurre --aunque bueno, sea como sea me vale claro :)--)

Un saludo y de nuevo: gracias!
  #2 (permalink)  
Antiguo 26/09/2003, 05:18
Avatar de ProgramacionWeb  
Fecha de Ingreso: junio-2003
Ubicación: Barcelona
Mensajes: 176
Antigüedad: 14 años, 5 meses
Puntos: 2
Para esto tienes que tener un archivo donde se guarden las ip de los visitantes, aqui te explico como hacerlo y te pongo el código:

http://www.programacionweb.net/?id=20
__________________
Foros en los que participo:
  #3 (permalink)  
Antiguo 26/09/2003, 05:34
 
Fecha de Ingreso: abril-2003
Mensajes: 656
Antigüedad: 14 años, 7 meses
Puntos: 1
sin animo de critica , pero el script que pones en tuweb no tiene
en cuenta que con el $_SERVER['REMOTE_ADDR']; no tiene en
cuenta que puede ser un proxi, ahora con el adsl te encuentras
que muchas personas en españa tienen la misma ip de proxi
adsl ya.com por ejemplo,

Luego lo que creo que no es bueno es filtar las visitas como visitante unico, ya que alguien con ip fija puede entrar cada mes
por ejemplo y este contador lo filtra.

creo que seria mejor en el primer caso con una funcion tipo asi:

function ip()
{
if (getenv("HTTP_X_FORWARDED_FOR"))
$ip = getenv("HTTP_X_FORWARDED_FOR");
else
$ip = getenv("REMOTE_ADDR");
return $ip;
}

y en el segundo caso poner otro campo en el archivo que cuente
las veces que entra la misma ip y la fecha con un separador tipo |, @ o como se quiera, luego con explode puedes sacarlo y
procesar los datos.

Bueno es solo una sugerencia

un saludo
  #4 (permalink)  
Antiguo 26/09/2003, 06:03
 
Fecha de Ingreso: mayo-2003
Ubicación: España
Mensajes: 44
Antigüedad: 14 años, 6 meses
Puntos: 2
Hola, muchas gracias por el enlace :)

Aunque no me funciona del todo bien, no sé porque... He pegado el script que hay en la página que me has indicado y he creado en el mismo directorio un fichero ips.txt (permisos 777).

Bueno, la llamada al script la hago a través de un include() en la página donde lo quiero. Y funcionar funciona, ya que aparece el "echo" que hay al final del script. Pero el contador está siempre a 0 y he probado a entrar a la web con dos IPs distintas

Otra cosa que he visto es que en el archivo ips.txt solo se guarda una IP. Es decir, en la primera vez he entrado con la IP: 80.58.38.xx (proxy-cache de telefonica :)) y se ha quedado guardada en el archivo. En la segunda vez he entrado con: 193.111.198.xx y el archivo ips.txt ha sido sobreescrito y estña guardada solo esta IP.

Ya digo que no conozco PHP. No se si esto debería ser así. fopen("ips.txt","w+"); --> si "w+" quiere decir que abra el fchero en modo creación/escritura (equivalente a "ios::in" en C/C++) entonces debe ser normal

He intentado entender el script y no llego a entenderlo del todo (lo siento, pero el manejo de las variables me lía. Parece que no se declaren, ¿puede ser?) En fin, y no he podido intentar modificarlo :(

Ya digo que el contador permanece siempre a 0 :(

La idea que comenta Jordi1 parece buena :) aunque no podré intentar implementarla jeje. Voy a ver si buscando por Google por PHP HTTP_X_FORWARDED_FOR encuentro algo :P

Gracias por la ayuda y sugerencias. Aver si el ánimo no decae y se ven muchas más! ;)

Saludos
  #5 (permalink)  
Antiguo 26/09/2003, 11:06
Avatar de cadrogui  
Fecha de Ingreso: junio-2003
Mensajes: 875
Antigüedad: 14 años, 6 meses
Puntos: 5
lee las funciones de trabajo de archivos:

fopen, fwrite, fclose, etc

asi puedes hacerlo..


salu2
__________________
La mejor manera de aprender es por medio de un aprendizaje significativo....

http://www.cocert.cl
  #6 (permalink)  
Antiguo 26/09/2003, 13:03
Avatar de nuevo  
Fecha de Ingreso: mayo-2003
Ubicación: Spain
Mensajes: 2.009
Antigüedad: 14 años, 6 meses
Puntos: 2
con ficheros de texto plano no se pueden hacer contadores reales de visitas, cuando el fichero esta abierto por otro usuario, el que viene despues no lo puede abrir, con lo cual el 2º no almacena el dato

lo que puedes hacer es forzar ese contador continuamente, lo pones en cada web que uses, las principales... las ventanas y cosas asi no hace falta...

de esta manera si el user no pudo en la 1º podra en la 2º,3º

aun asi... no me convence nada
__________________
3w.valenciadjs.com
3w.laislatv.com
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:14.