Foros del Web » Programando para Internet » PHP »

ayuda con ip única

Estas en el tema de ayuda con ip única en el foro de PHP en Foros del Web. hoooola, ya no puedo darle más vueltas .... este es el código Código PHP: //campos de la tabla visitas_únicas: fecha, hoy, ip      $saber  =  mysql_query ( "SELECT curdate()" );        $dia  =  ...
  #1 (permalink)  
Antiguo 17/03/2004, 11:13
Avatar de X3mdesign  
Fecha de Ingreso: octubre-2003
Ubicación: Madrid
Mensajes: 640
Antigüedad: 14 años, 2 meses
Puntos: 2
ayuda con ip única

hoooola, ya no puedo darle más vueltas .... este es el código


Código PHP:
//campos de la tabla visitas_únicas: fecha, hoy, ip
    
$saber mysql_query("SELECT curdate()");  
    
$dia mysql_fetch_row($saber); 
    
$unicas mysql_query ("SELECT * from `visitas_unicas` ORDER BY `fecha` DESC");
    
$datos mysql_fetch_row($unicas);
    if (
$datos[0]<$dia[0]){
        
$hoy "1";
        
mysql_query("INSERT INTO `visitas_unicas` (`fecha` , `hoy` ,`ip`) VALUES ('$dia[0]','$hoy','$REMOTE_ADDR')");
    }else{
        
$existe strstr ($datos[2], $REMOTE_ADDR);
            if (!
$existe){
                
$datos[2] = "$datos[2] $REMOTE_ADDR";
                
$datos[1]++;
                
mysql_query("UPDATE `visitas_unicas` SET `ip` = '$datos[2]', `hoy` = '$datos[1]' WHERE `fecha` = '$datos[0]' LIMIT 1");                    
            }
    } 
lo he hecho a como Dios me ha dado a entender... supongo que los que más piloten lo habrían hecho en dos líneas...

un saludo y muchas gracias!!!
__________________
Nippon-Tour, tu portal sobre Japón
¿Te gusta el manga, haces tus propios dibujos? Visita FanArt de Nippon-Tour
  #2 (permalink)  
Antiguo 17/03/2004, 13:12
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Pero que quieres hacer?

Si explicas lo que pretendes hacer .. tal vez alquien te dé su propuesta y no tendrá que priermo averiguar que hace tu código para ver que es lo que puedas requerir tu concretamente.

Y si .. el código no te funciona o no hace lo esperado, indicalo .. Se trata de que quien pregunte lo exponga lo suficientemente claro como para que resulte fácil ayudar.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #3 (permalink)  
Antiguo 18/03/2004, 02:52
Avatar de X3mdesign  
Fecha de Ingreso: octubre-2003
Ubicación: Madrid
Mensajes: 640
Antigüedad: 14 años, 2 meses
Puntos: 2
okas, sorry cluster

intento hacer un contador de IP únicas con la fecha del servidor... y la meto en $dia , luego en la tabla visitas_unicas recojo los datos para averiguar si el ultimo registro metido tiene la fecha menor que la del servidor if ($datos[0]<$dia[0]){ si es menor creo un registro nuevo, y si no lo es es que es igual, entonces busco la ip del usuario en el campo `ip`de la tabla con $existe = strstr ($datos[2], $REMOTE_ADDR); que no está la añado a $datos[2] y sumo $datos[]++ y si está pues no hago nada :)...

la cuestión es que no me llega a crear ni un nuevo registro al cambiar la fecha... es deci que falla en el primer IF pero la cuestión es que si que añade las IP y las suma, pero en el registro ya creado y no más de 2 ó 3 y yo creo que sólo cuando están activas en la web...

un saludo y gracias!!!
__________________
Nippon-Tour, tu portal sobre Japón
¿Te gusta el manga, haces tus propios dibujos? Visita FanArt de Nippon-Tour
  #4 (permalink)  
Antiguo 18/03/2004, 03:28
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Hola,

Antes de ese if haz un echo $datos[0] y un echo $dia[0], para ver exactamente que estas comparando. Quizas el problema son los valores de esas variables, no el script en si.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #5 (permalink)  
Antiguo 18/03/2004, 06:07
Avatar de X3mdesign  
Fecha de Ingreso: octubre-2003
Ubicación: Madrid
Mensajes: 640
Antigüedad: 14 años, 2 meses
Puntos: 2
el echo muestra las fechas correctamente :)
__________________
Nippon-Tour, tu portal sobre Japón
¿Te gusta el manga, haces tus propios dibujos? Visita FanArt de Nippon-Tour
  #6 (permalink)  
Antiguo 18/03/2004, 06:14
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Si, pero que muestre la fecha correctamente no quiere decir que con esos valores la condicion funcione como imaginas. Estas usando una comparacion < , y puede que no funcione como esperas con esos valores (PHP solo maneja numeros y cadenas, no tiene un tipo de datos Fecha).

Pon los valores aqui, para ver si estan en el formato correcto. O haz la prueba en un script simple que haga la condicion con los valores puestos directamente.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #7 (permalink)  
Antiguo 18/03/2004, 07:23
Avatar de X3mdesign  
Fecha de Ingreso: octubre-2003
Ubicación: Madrid
Mensajes: 640
Antigüedad: 14 años, 2 meses
Puntos: 2
muestra estos valores:

$datos[0]: 2004-03-16
$dia[0]: 2004-03-18

gracias again ;)
__________________
Nippon-Tour, tu portal sobre Japón
¿Te gusta el manga, haces tus propios dibujos? Visita FanArt de Nippon-Tour
  #8 (permalink)  
Antiguo 18/03/2004, 07:37
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Bueno, parece que con esos valores si deberia entrar en el if. Entonces toca comprobar la consulta. Hay que comprobar que no se produce un error MySQL con mysql_error():
Código PHP:
mysql_query("INSERT INTO `visitas_unicas` (`fecha` , `hoy` ,`ip`) VALUES ('$dia[0]','$hoy','$REMOTE_ADDR')") or die('Error MySQL dice: '.mysql_error()); 
Suerte.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #9 (permalink)  
Antiguo 18/03/2004, 07:46
Avatar de X3mdesign  
Fecha de Ingreso: octubre-2003
Ubicación: Madrid
Mensajes: 640
Antigüedad: 14 años, 2 meses
Puntos: 2
pues... no aparece ningún error :O
__________________
Nippon-Tour, tu portal sobre Japón
¿Te gusta el manga, haces tus propios dibujos? Visita FanArt de Nippon-Tour
  #10 (permalink)  
Antiguo 18/03/2004, 07:50
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Se me ha olvidado un control, saber si entra en el if. Pon:
Código PHP:
if ($datos[0]<$dia[0]){

echo 
"DENTRO DEL IF DEL INSERT";
        
$hoy "1";

        
mysql_query("INSERT INTO `visitas_unicas` (`fecha` , `hoy` ,`ip`) VALUES ('$dia[0]','$hoy','$REMOTE_ADDR')") or die('Error MySQL dice: '.mysql_error());


    }else{ 
Si no te muestra el mensaje del echo, es que no entra en el if, a pesar de esos valores de las variables. Quizas tu PHP no interpreta bien el < de esas dos cadenas.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #11 (permalink)  
Antiguo 18/03/2004, 08:10
Avatar de X3mdesign  
Fecha de Ingreso: octubre-2003
Ubicación: Madrid
Mensajes: 640
Antigüedad: 14 años, 2 meses
Puntos: 2
yo creo que el problema está en que no realiza bien el if... porque el instar yo creo que está OK... porqu eno pone nada con el "echo" que le hemos colocado

Muchas gracias!!!
__________________
Nippon-Tour, tu portal sobre Japón
¿Te gusta el manga, haces tus propios dibujos? Visita FanArt de Nippon-Tour
  #12 (permalink)  
Antiguo 22/03/2004, 03:16
Avatar de X3mdesign  
Fecha de Ingreso: octubre-2003
Ubicación: Madrid
Mensajes: 640
Antigüedad: 14 años, 2 meses
Puntos: 2
qué puedo hacer entonces??
__________________
Nippon-Tour, tu portal sobre Japón
¿Te gusta el manga, haces tus propios dibujos? Visita FanArt de Nippon-Tour
  #13 (permalink)  
Antiguo 22/03/2004, 03:20
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Bueno, podrias pasar las fechas a timestamp, que como es un numero la comparacion te la deberia hacer bien. Prueba la funcion strtotime() (www.php.net/strtotime) o mktime() (www.php.net/mktime).

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #14 (permalink)  
Antiguo 22/03/2004, 04:36
Avatar de X3mdesign  
Fecha de Ingreso: octubre-2003
Ubicación: Madrid
Mensajes: 640
Antigüedad: 14 años, 2 meses
Puntos: 2
okas, voy a investigar :) gracias again!!!
__________________
Nippon-Tour, tu portal sobre Japón
¿Te gusta el manga, haces tus propios dibujos? Visita FanArt de Nippon-Tour
  #15 (permalink)  
Antiguo 23/03/2004, 07:37
Avatar de X3mdesign  
Fecha de Ingreso: octubre-2003
Ubicación: Madrid
Mensajes: 640
Antigüedad: 14 años, 2 meses
Puntos: 2
jeje, no te lo vas a creer , ahora que había cogido fuerzas para modificar el código y encontrar un post previo que hablaba sobre el tema (tendría que haberlo pensado antes)... he modificado el código... y entro en la base de datos y veo que me ha estado añadiendo los registros bien!!!! no lo entiendo ...


pero en fin, muchas gracias de nuevo
__________________
Nippon-Tour, tu portal sobre Japón
¿Te gusta el manga, haces tus propios dibujos? Visita FanArt de Nippon-Tour
  #16 (permalink)  
Antiguo 23/03/2004, 07:40
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
No te preocupes, son los gremlins
__________________
Josemi

Aprendiz de mucho, maestro de poco.
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 03:34.