par
auclairp » 18 janv. 2007, 12:43
Bonjour tous, voici mon problème.
Je me suis créer une table pour visualiser mes visiteurs.
J'inscrit IP, HOST, DATE de visite.
Parcontre j'ai créer une autre table ou je met les IP que je veux pas qui soit compt. ex. la mienne. Jusque là tout fonctionne.
Dernièrement j'ai remarqué plusiquer adresse corresposdant à des ROBOT SEARCH, mais ils ont tous des adresse IP différente, et pour de qui est du HOST, tous finissent pas la même chose, mais ont des début différents. Alors j'ai tenter d'exclire par la même table touts les HOST qui finissent par ex. inktomisearch.com, mais ca ne fonctionne pas.
c'est dans le LIKE ou je sais pas quoi ou peut-¸etre comment j'obtien le HOST, quoi que ca fonctionne si je met juste un WHERE ip = '$ip' mais il ne fonctionne plus si je teste le LIKE avec le IP.....
J'espère que vous comprenez ce que je recherche,
J'y ai insérer quelque une de mes essais, bien sûre elle ne font pas partie du code original.....
Voici mon code, si vous trouver une erreur.
$page = $_SERVER['PHP_SELF'];
$ip = $_SERVER['REMOTE_ADDR'];
$host = gethostbyaddr($_SERVER['REMOTE_ADDR']);
$urlfrom = $_SERVER["HTTP_REFERER"]; // L'URL depuis laquelle le script PHP est appelé
$annee = date("Y",mktime(date("H")-5, date("i"), date("s"), date("m") , date("d"), date("Y") ) );
$mois = date("m",mktime(date("H")-5, date("i"), date("s"), date("m") , date("d"), date("Y") ) );
$jour = date("d",mktime(date("H")-5, date("i"), date("s"), date("m") , date("d"), date("Y") ) );
$heure = date("H:i:s",mktime(date("H")-5, date("i"), date("s") ) );
$date= date(U);
$time = date('U');
$timeout = date('U') - 60*5; // délais de 5 minutes (60 secondes * 5 = 5 minutes
// Voir si l'IP est donné pour ne pas enregistrer
$ip_exist= "SELECT * FROM ip_no WHERE ip='$ip'"; // CELLE-CI FONCTIONNE
$ip_exist= "SELECT * FROM ip_no WHERE ip='$ip' OR host LIKE '%$host%' "; // CELLE-CI NE FONCTIONNE PAS ??????
$ip_exist= "SELECT * FROM ip_no WHERE ip='$ip' OR host LIKE '%"$host"%' "; // CELLE-CI NE FONCTIONNE PAS non plus??????
$ip_exist= "SELECT * FROM ip_no WHERE ip='$ip' OR host LIKE '$host%' "; // CELLE-CI NE FONCTIONNE PAS non plus??????
$ip_exist2 = mysql_query($ip_exist);
// Voir si l'IP n'a pas déjà été enregistrer dans les dernières 5 minutes.
$ip_timeout= "SELECT * FROM logs WHERE page='$page' AND ip='$ip' AND date>'".$timeout."'";
$ip_timeout2 = mysql_query($ip_timeout);
if (mysql_num_rows($ip_exist2) >= 1)
{
}
elseif (mysql_num_rows($ip_timeout2) >= 1)
{
}
else
{
{ mysql_query('INSERT INTO logs VALUES( "",
"'.$page.'",
"'.$ip.'",
"'.$host.'",
"'.$annee.'",
"'.$mois.'",
"'.$jour.'",
"'.$heure.'",
"'.$time.'",
"'.$urlfrom.'")')or die(mysql_error());
}
}?>
Merci de votre aide
Bonjour tous, voici mon problème.
Je me suis créer une table pour visualiser mes visiteurs.
J'inscrit IP, HOST, DATE de visite.
Parcontre j'ai créer une autre table ou je met les IP que je veux pas qui soit compt. ex. la mienne. Jusque là tout fonctionne.
Dernièrement j'ai remarqué plusiquer adresse corresposdant à des ROBOT SEARCH, mais ils ont tous des adresse IP différente, et pour de qui est du HOST, tous finissent pas la même chose, mais ont des début différents. Alors j'ai tenter d'exclire par la même table touts les HOST qui finissent par ex. inktomisearch.com, mais ca ne fonctionne pas.
c'est dans le LIKE ou je sais pas quoi ou peut-¸etre comment j'obtien le HOST, quoi que ca fonctionne si je met juste un WHERE ip = '$ip' mais il ne fonctionne plus si je teste le LIKE avec le IP.....
J'espère que vous comprenez ce que je recherche,
J'y ai insérer quelque une de mes essais, bien sûre elle ne font pas partie du code original.....
Voici mon code, si vous trouver une erreur.
[php]
$page = $_SERVER['PHP_SELF'];
$ip = $_SERVER['REMOTE_ADDR'];
$host = gethostbyaddr($_SERVER['REMOTE_ADDR']);
$urlfrom = $_SERVER["HTTP_REFERER"]; // L'URL depuis laquelle le script PHP est appelé
$annee = date("Y",mktime(date("H")-5, date("i"), date("s"), date("m") , date("d"), date("Y") ) );
$mois = date("m",mktime(date("H")-5, date("i"), date("s"), date("m") , date("d"), date("Y") ) );
$jour = date("d",mktime(date("H")-5, date("i"), date("s"), date("m") , date("d"), date("Y") ) );
$heure = date("H:i:s",mktime(date("H")-5, date("i"), date("s") ) );
$date= date(U);
$time = date('U');
$timeout = date('U') - 60*5; // délais de 5 minutes (60 secondes * 5 = 5 minutes
// Voir si l'IP est donné pour ne pas enregistrer
$ip_exist= "SELECT * FROM ip_no WHERE ip='$ip'"; // CELLE-CI FONCTIONNE
$ip_exist= "SELECT * FROM ip_no WHERE ip='$ip' OR host LIKE '%$host%' "; // CELLE-CI NE FONCTIONNE PAS ??????
$ip_exist= "SELECT * FROM ip_no WHERE ip='$ip' OR host LIKE '%"$host"%' "; // CELLE-CI NE FONCTIONNE PAS non plus??????
$ip_exist= "SELECT * FROM ip_no WHERE ip='$ip' OR host LIKE '$host%' "; // CELLE-CI NE FONCTIONNE PAS non plus??????
$ip_exist2 = mysql_query($ip_exist);
// Voir si l'IP n'a pas déjà été enregistrer dans les dernières 5 minutes.
$ip_timeout= "SELECT * FROM logs WHERE page='$page' AND ip='$ip' AND date>'".$timeout."'";
$ip_timeout2 = mysql_query($ip_timeout);
if (mysql_num_rows($ip_exist2) >= 1)
{
}
elseif (mysql_num_rows($ip_timeout2) >= 1)
{
}
else
{
{ mysql_query('INSERT INTO logs VALUES( "",
"'.$page.'",
"'.$ip.'",
"'.$host.'",
"'.$annee.'",
"'.$mois.'",
"'.$jour.'",
"'.$heure.'",
"'.$time.'",
"'.$urlfrom.'")')or die(mysql_error());
}
}?>
[/php]
Merci de votre aide