Foros del Web » Programando para Internet » PHP »

Duda con contador de visitas por IP

Estas en el tema de Duda con contador de visitas por IP en el foro de PHP en Foros del Web. Hola amigos, he creado un script de contador de visitas por IP que funciona bien salvo un pequeño detalle, les pongo el script para luego ...
  #1 (permalink)  
Antiguo 08/05/2007, 20:57
Avatar de ZydRick  
Fecha de Ingreso: febrero-2005
Ubicación: Lima
Mensajes: 750
Antigüedad: 19 años, 9 meses
Puntos: 4
Duda con contador de visitas por IP

Hola amigos, he creado un script de contador de visitas por IP que funciona bien salvo un pequeño detalle, les pongo el script para luego explicarles lo que sucede

Código PHP:
<?php
    
include('dbconex.php'); // datos de conexión a la BD
    
$query mysql_query("SELECT * FROM visitas");
        if(
mysql_num_rows($query) == 0) { // consulto si la tabla visitas está vacía
            
mysql_query("INSERT INTO visitas (num_visitas) VALUES(1)");
            
mysql_query("INSERT INTO ipvisita (ipvisita) VALUES ('$REMOTE_ADDR')");
        }else {
            
$row mysql_fetch_array($query);
            
$num $row['num_visitas'];
            
$sql mysql_query("SELECT * FROM ipvisita WHERE ipvisita='".$_SERVER['REMOTE_ADDR']."'");
            
$visitadas mysql_fetch_array($sql);
            if(
$visitadas['ipvisita'] != $_SERVER['REMOTE_ADDR']) { // si la ip no existe entonces ingreso la nueva ip en la tabla ipvisita y actualizo la tabla visitas aumentando en 1 el número de visitas
                
mysql_query("INSERT INTO ipvisita (ipvisita) VALUES ('$REMOTE_ADDR')");
                
$visitas2 $row[num_visitas]+1;
                
mysql_query("UPDATE visitas SET num_visitas='".$visitas2."'");
            }
        }
?>
    Eres el visitante N°: <strong><?=$num?></strong>
Pues bien, el detalle que tiene este script es que de primera instancia al ejecutarlo sólo muestra 0 y para que aumente a 1 tengo que presionar F5 o actualizar la página y así con todas las ips distintas que ingresan, mi pregunta es: ¿qué debo modificar para que ni bien se ingrese a la página automáticamente se incremente el contador?, espero que me ayuden, gracias de antemano.

Saludos
  #2 (permalink)  
Antiguo 08/05/2007, 23:13
 
Fecha de Ingreso: abril-2006
Ubicación: Colombia
Mensajes: 648
Antigüedad: 18 años, 7 meses
Puntos: 3
Re: Duda con contador de visitas por IP

Hola

Bueno, pues mira, creo que es esto, cuando entra a la página por primera vez y hace la consulta

if(mysql_num_rows($query) == 0) { // consulto si la tabla visitas está vacía
mysql_query("INSERT INTO visitas (num_visitas) VALUES(1)");
mysql_query("INSERT INTO ipvisita (ipvisita) VALUES ('$REMOTE_ADDR')");
}


el inserta los datos pero no trae el valor de $num, es decir, en ese if debes agregarle

$row = mysql_fetch_array($query);
$num = $row['num_visitas'];
para qupote traiga el valor recine insertado en ese campo, espero te sirva, saludos
__________________
Suerte.
_______________________________
"La vida es el principio de la muerte".
  #3 (permalink)  
Antiguo 09/05/2007, 16:34
Avatar de ZydRick  
Fecha de Ingreso: febrero-2005
Ubicación: Lima
Mensajes: 750
Antigüedad: 19 años, 9 meses
Puntos: 4
Re: Duda con contador de visitas por IP

Hice lo que me dijiste pero sigues sin funcionar, gracias por tu ayuda, a ver si alguien más me echa una mano
  #4 (permalink)  
Antiguo 09/05/2007, 16:52
Avatar de eits  
Fecha de Ingreso: junio-2005
Ubicación: valladolid, yucatán
Mensajes: 1.655
Antigüedad: 19 años, 5 meses
Puntos: 88
Re: Duda con contador de visitas por IP

en que momento asignas valor a $REMOTE_ADDR, se me hace que debes usarlo así
Código PHP:
mysql_query("INSERT INTO ipvisita (ipvisita) VALUES ('".$_SERVER['REMOTE_ADDR'].")"); 
suerte y saludos.
__________________
El amor es la locura mas lucida que tiene el hombre.- Andres Henestrosa
la tristeza no existe, solo es... la ausencia de la felicidad.
  #5 (permalink)  
Antiguo 09/05/2007, 17:03
Avatar de ZydRick  
Fecha de Ingreso: febrero-2005
Ubicación: Lima
Mensajes: 750
Antigüedad: 19 años, 9 meses
Puntos: 4
Re: Duda con contador de visitas por IP

Bueno lo cambié por

Código PHP:
mysql_query("INSERT INTO ipvisita (ipvisita) VALUES ('".$_SERVER[REMOTE_ADDR]."')"); 
Sin las comillas simples dentro de los corchetes sino no me ingresaba la IP a la BD pero sigue igual, la primera vez que se ingresa en la página no imprime nada pero los datos ya fueron guardados en la BD y si presiono F5 ya me aparece 1 y si alguien ingresa desde otra ip le siguemostrando 1 y al actualizar ya le imprime 2 y así y no sé cómo arreglarlo. gracias por la ayuda.
  #6 (permalink)  
Antiguo 09/05/2007, 20:39
 
Fecha de Ingreso: febrero-2007
Mensajes: 8
Antigüedad: 17 años, 9 meses
Puntos: 0
Re: Duda con contador de visitas por IP

Oye porque el texto de "eres el visitante numero x" està afuera de las tags de PHP?
deberìas meterlo entre las tags y probar de nuevo,
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 12:13.