1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
|
//represente le nombre d heures avant que l ip ne soit REenregistree
define('Nbdheures','6');
//on sauvegarde une seule ip par 6h
function saveIp(){
connexionBase();
/*fonction située dans le meme fichier qui renvoie l ip du visiteur*/
$IpVisiteur=getIP();
$allIp1 = @mysql_query("SELECT * FROM visiteurs") or die( 'Erreur MySQL' );;
$allIp2 = @mysql_fetch_assoc($allIp1);
$req1 = @mysql_query("SELECT COUNT(*) AS nbre_entrees FROM visiteurs WHERE ip='".$IpVisiteur."'") or die( 'Erreur MySQL' );
$now = time();
$unJourPlusTard=Nbdheures*3600; // 6h plus tard
if((mysql_result($req1, 0))==0){
//si l'ip n existe pas, cela signifie qu il s agit d un nouveau visiteur, donc on stocke son IP
@mysql_query("INSERT INTO visiteurs VALUES('','".$IpVisiteur."','".$now."')") or die( 'Erreur MySQL' );
}
//sinon, cela signifie que l ip est presente dans la base
//deux possibilites sont alors possibles : la derniere visite remonte a plus d un jour
//auquel cas, on rajoute l ip, soit, l ip remonte a moins d un jour, alors, on fait une MAJ du timestamp
elseif(($now-$allIp2['timestamp'])<=$unJourPlusTard){
//echo '<h2>Mis a jour</h2>';
$identifiant=$allIp2['id'];
@mysql_query("UPDATE visiteurs SET timestamp='".$now."' WHERE ip='".$IpVisiteur."' AND id='".$identifiant."'") or die( 'Erreur MySQL' );
}
else {
@mysql_query("INSERT INTO visiteurs VALUES('','".$IpVisiteur."','".$now."')") or die( 'Erreur MySQL' );
}
@mysql_close() or die( 'Erreur MySQL' );;
} |
Partager