Foros del Web » Programando para Internet » PHP »

Contador de IP que no se repita

Estas en el tema de Contador de IP que no se repita en el foro de PHP en Foros del Web. Fijate si esto es lo que querés: Código PHP: <? $fecha  =  date ( "Y/m/d" ); $ip  =  $_SERVER [ 'REMOTE_ADDR' ]; $fp  =  file_get_contents ...

  #31 (permalink)  
Antiguo 19/01/2008, 17:16
Avatar de hgp147  
Fecha de Ingreso: diciembre-2006
Ubicación: Buenos Aires, Argentina
Mensajes: 980
Antigüedad: 17 años, 4 meses
Puntos: 36
Re: Contador de IP que no se repita

Fijate si esto es lo que querés:

Código PHP:
<?

$fecha 
date("Y/m/d");

$ip $_SERVER['REMOTE_ADDR'];

$fp file_get_contents("ip.txt","r");
 
$exp explode(';'$fp, -1);

$total count($exp);


if (
preg_match("/$ip/i""$fp")) {

$visitante $total;

}else{

$fh fopen("ip.txt"'a');

fwrite($fh"Fecha: $fecha IP: $ip;");

fclose($fh);

$visitante $total+1;

}

echo 
"Visitante nº: $visitante";

?>
  #32 (permalink)  
Antiguo 20/01/2008, 06:39
Avatar de ceaped  
Fecha de Ingreso: febrero-2004
Mensajes: 2.185
Antigüedad: 20 años, 2 meses
Puntos: 9
Re: Contador de IP que no se repita

Hola hgp147 sabes que es lo extraño? que me guarda así los datos:

Cita:
2008-01-20 600.136.09.250;
Sabiendo que en esta línea dice Fecha e IP:

Cita:
fwrite($fh, "Fecha: $fecha IP: $ip;");
__________________
Diseñador Gráfico publicitario
  #33 (permalink)  
Antiguo 20/01/2008, 14:00
Avatar de hgp147  
Fecha de Ingreso: diciembre-2006
Ubicación: Buenos Aires, Argentina
Mensajes: 980
Antigüedad: 17 años, 4 meses
Puntos: 36
Re: Contador de IP que no se repita

A mí me lo guarda así:

Fecha: 2008/01/20 IP: 127.0.0.1;
  #34 (permalink)  
Antiguo 26/01/2008, 07:32
Avatar de ceaped  
Fecha de Ingreso: febrero-2004
Mensajes: 2.185
Antigüedad: 20 años, 2 meses
Puntos: 9
Re: Contador de IP que no se repita

Hola hgp147. De nuevo yo jejeje
Mira tengo una duda sobre el contador.
Yo estoy haciendo pruebas con el contador pero sucede algo lo cual no entiendo bien.
Yo ingreso desde mi equipo (IP) el cual es único (es asi?) bueno me guarda mi IP y me imprime visitante No. 1. al otro día repito latarea y vuelve y me guarda pero con distinta IP y vuelve y me imprime visitante No. 2.
Esto porque sucede?

Yo compruebo antes de entrar al sitio el número de IP´s que se han guardado en ip.txt y como en el ejemplo anterior porejemplo me tiene guardada 1 entro al sitio reviso el ip.txt y ya hay dos distintas, pero estoy entrando desde un mismo equipo.

Gracias
__________________
Diseñador Gráfico publicitario
  #35 (permalink)  
Antiguo 26/01/2008, 12:30
Avatar de hgp147  
Fecha de Ingreso: diciembre-2006
Ubicación: Buenos Aires, Argentina
Mensajes: 980
Antigüedad: 17 años, 4 meses
Puntos: 36
Re: Contador de IP que no se repita

Hola ceaped.
Eso ocurre porque tu IP es dinámica (es decir que cambia cada vez que te conectas)
  #36 (permalink)  
Antiguo 31/01/2008, 06:22
Avatar de ceaped  
Fecha de Ingreso: febrero-2004
Mensajes: 2.185
Antigüedad: 20 años, 2 meses
Puntos: 9
Re: Contador de IP que no se repita

Hola hgp147.
Mmmm lo sospeche desde un principio jejeje
Mira he tratado de que entre IP e IP no quede separado por un ";" sino por una ",".
Cita:
fwrite($fh, "Fecha: $fecha IP: $ip;");
Yo le modifico el ";" que está al final pero el contador tiene un comportamiento erroneo.
En donde debo modificar dicho ";".
Gracias
__________________
Diseñador Gráfico publicitario
  #37 (permalink)  
Antiguo 31/01/2008, 07:53
Avatar de hgp147  
Fecha de Ingreso: diciembre-2006
Ubicación: Buenos Aires, Argentina
Mensajes: 980
Antigüedad: 17 años, 4 meses
Puntos: 36
Re: Contador de IP que no se repita

Hola ceaped, tenés que modificar 2 líneas del código:

Esto: fwrite($fh, "Fecha: $fecha IP: $ip;"); por esto: fwrite($fh, "Fecha: $fecha IP: $ip,");


Y esto: $exp = explode(';', $fp, -1); por esto: $exp = explode(',', $fp, -1);


Además tenés que eliminar todo el contenido del archivo ip.txt
  #38 (permalink)  
Antiguo 31/01/2008, 09:32
Avatar de ceaped  
Fecha de Ingreso: febrero-2004
Mensajes: 2.185
Antigüedad: 20 años, 2 meses
Puntos: 9
Re: Contador de IP que no se repita

Ok hgp147. Mucha suerte y gracias por tu ayuda
__________________
Diseñador Gráfico publicitario
  #39 (permalink)  
Antiguo 31/01/2008, 19:57
Avatar de milerweb  
Fecha de Ingreso: enero-2008
Ubicación: Lima peru
Mensajes: 81
Antigüedad: 16 años, 3 meses
Puntos: 1
Re: Contador de IP que no se repita

aqui esta la solucion a sus problemas

Código PHP:
<?php
/*************************************
*@Author:
Eduardo Stuart - [email protected]
*@Web:
http://www.eduardostuart.com
*@Description: Simples contador de visitas
que utiliza db-mysql
*@E-mail:
[email protected]
*************************************/

//Class conexao com db.
class conexao
{
var 
$userdb "xxxx";
var 
$passdb "xxxx";
var 
$hostdb "lxxxx";
var 
$namedb "xxxxx";

function 
conecta()
{
$conecta mysql_connect($this->hostdb,$this->userdb,$this->passdb)or
die(
mysql_error());
mysql_select_db($this->namedb,$conecta)or
die(
mysql_error());
}
}

//Class contador
class contador extends conexao
{
var 
$ip;
var 
$data;
var 
$tabela "contador";

function 
criaConexao()
{
$conexao = new conexao;
$conexao->conecta();
}

function 
pegaData()
{
$this->data date("d/m/Y");
}

function 
pegaIp()
{
$this->ip =
$_SERVER['REMOTE_ADDR'];
}
function 
visitaHoje()
{
$this->criaConexao();
$sql mysql_query("SELECT ip,data FROM $this->tabela WHERE
data='$this->data'
AND ip='$this->ip'"
) or
die(
mysql_error());
if(
mysql_num_rows($sql) <= "0")
{
mysql_query("INSERT INTO $this->tabela (id,data,ip)
VALUES ('','$this->data','$this->ip')"
)or
die(
mysql_error());
}
}
function 
mostraVisitantes()
{
$this->criaConexao();
$sql mysql_query("SELECT * FROM $this->tabela")or
die(
mysql_error());
$total=  8542797148 mysql_num_rows($sql);
echo 
"$total Peticiones";
}

function 
mostraVisitantesHoje()
{
$this->criaConexao();
$sql mysql_query("SELECT * FROM $this->tabela WHERE
data='$this->data'"
)
or die(
mysql_error());
$total 8542797148 mysql_num_rows($sql);

}
}
?>
  #40 (permalink)  
Antiguo 01/02/2008, 05:59
Avatar de ceaped  
Fecha de Ingreso: febrero-2004
Mensajes: 2.185
Antigüedad: 20 años, 2 meses
Puntos: 9
Re: Contador de IP que no se repita

Hola milerweb. Aunque lo que busco no es con BD me gustaría probarlo.
Tienes el códido de la BD y su tabla para probarlo?.
Gracias
__________________
Diseñador Gráfico publicitario
  #41 (permalink)  
Antiguo 01/02/2008, 06:04
Avatar de ceaped  
Fecha de Ingreso: febrero-2004
Mensajes: 2.185
Antigüedad: 20 años, 2 meses
Puntos: 9
Re: Contador de IP que no se repita

Hola MilerWeb. Ingresé al sitio Web y vi el ejercicio y su tabla:

Cita:
CREATE TABLE `visitas` (
`id` INT(50) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
`ip` VARCHAR(11) NOT NULL,
`data` VARCHAR(10) DEFAULT '00/00/0000' NOT NULL
) TYPE = MYISAM;
__________________
Diseñador Gráfico publicitario
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 14:18.