Ver Mensaje Individual
  #3 (permalink)  
Antiguo 21/09/2010, 08:07
sToRaGe
 
Fecha de Ingreso: mayo-2010
Mensajes: 51
Antigüedad: 14 años
Puntos: 0
Respuesta: contador de visitas con control por ip y fecha

Acabo de probar eso que me has dicho repara2 pero no ha cambiado nada.
Había puesto 2 archivos diferentes para guardas las IP's, ahora he puesto sólo 1. El archivo "ip.txt" ya lo tengo creado.
El código está corriendo en hosting.

Aún así lo que hace es:
-Si las fechas no coinciden: borra el contenido del archivo y añade la nueva fecha, pero no muestra en pantalla el total de visitas. Simplemente pone "Visitas: ", pero sin el número.
-Si las fechas sí coinciden: en la siguiente linea pone la IP y la fecha, además lo hace aunque la IP ya exista en el ip.txt

Vuelvo a poner el código con la modificación que he hecho de los txt:

Código PHP:
Ver original
  1. <?php
  2. $dia_actual=date("d");
  3. $mes_actual=date("m");
  4. $anio_actual=date("Y");
  5. $fecha_actual=($anio_actual."/".$mes_actual."/".$dia_actual."\r\n");
  6.  
  7. $ip = $_SERVER['REMOTE_ADDR'];
  8. $archivo = file("ip.txt");
  9. $lineas = count($archivo);
  10. for($i=0; $i < $lineas; $i++){
  11. }
  12.  if (($archivo[0])!=($fecha_actual)){ //si ha cambiado de dia borro las ip
  13.  echo "Diferentes y borrados!";
  14.      $ff = fopen("ip.txt","w+");
  15.      fwrite($ff,"");
  16.     fclose($ff);
  17.      $ff = fopen("ip.txt","w+");
  18.      fwrite($ff,$fecha_actual);
  19.     fclose($ff);
  20.  }else{
  21.  
  22. $existe = 0;
  23. $visitas = 0;
  24. $fp = fopen("ip.txt","r");
  25. while($ip2 = fgets($fp)){
  26.     $visitas++;
  27.     $ip.= $ip2;
  28.     if($ip.'' == $ip2)$existe = 1;
  29. }
  30. fclose($fp);
  31. if($existe == 0){
  32.     $fp = fopen("ip.txt","a");
  33.     fwrite($fp, $ip);
  34.     fclose($fp);
  35.    
  36. $cont = "contador.txt";
  37. $abre = fopen($cont, "r");
  38. $total = fread($abre, filesize($cont));
  39. fclose($abre);
  40. $abre = fopen($cont, "w");
  41. $total = $total + 1;
  42. fwrite($abre, $total);
  43. fclose($abre);
  44. }
  45. }
  46. print ("Visitas: ".$total);
  47.  ?>