compteur simple avec une base mysql
il stocke l'ip et la date du jour.
requete pour creer la table:
CREATE TABLE 'compt' (
'ip' VARCHAR(14) NOT NULL,
'date' VARCHAR(8) NOT NULL
);
Source / Exemple :
<?
if(!file_exists("compteur.txt")) {//on vérifie si le fichier compteur.txt existe
$fp=fopen("compteur.txt",'w');
fputs($fp,'0');//compteur vaut 0
fclose($fp);}
$today=date("dmY");//date du jour
$ip=$REMOTE_ADDR;//addresse IP
mysql_connect(localhost,root) or die("erreur");//connexion au serveur
mysql_select_db(test) or die("erreur");//selestion de la base de données
$req1=mysql_query("select date from compt where ip='$ip'");//on selectionne la colonne ip
$result1=mysql_fetch_array($req1);//on met le résultat dans un tableau
if(!empty($result1)){//si le tableau n'est pas vide (c'est a dire que l'ip est dans la table)
if (!in_array($today,$result1)){//on vérifie si la date correspondante est celle d'aujourd'hui
mysql_query("UPDATE compt SET date=$today WHERE ip='$ip'");//si c'est pas le cas, on la change
$fp=fopen('compteur.txt', 'r+');
$c=fread($fp,10000000);
$c++;//incrémentation du compteur
fseek($fp,0);
fputs($fp,$c);
}if (in_array($today,$result1)){exit;}//si la date du jour est dans le tableau on sort
exit;}
if(empty($test)){//si la table est vide on la rempli avec l'ip et la date du jour
mysql_query("INSERT INTO compt (ip,date) VALUES ('$REMOTE_ADDR','$today')");
$fp=fopen('compteur.txt', 'r+');
$c=fread($fp,10000000);
$c++;//incrémentation du compteur
fseek($fp,0);
fputs($fp,$c);
exit;}
$req3=mysql_query("select ip from compt");//on sélectionne la colonne ip
$result3=mysql_fetch_array($req3);//on met le résultat dans un tableau
if (!in_array($ip,$result3)){//si l'ip n'est pas dans le tableau
mysql_query("INSERT INTO compt (ip,date) VALUES ('$REMOTE_ADDR','$today')");//on insert l'ip avec la date
$fp=fopen('compteur.txt', 'r+');
$c=fread($fp,10000000);
$c++;//incrémentation du compteur
fseek($fp,0);
fputs($fp,$c);
exit;}
?>
Conclusion :
jl'ai fais a l'arrache y'a 10min il se peut qu'il bug je regarderai
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.