begin process at 2012 05 27 22:24:48
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Base de données

 > COMPTEUR SIMPLE AVEC MYSQL

COMPTEUR SIMPLE AVEC MYSQL


 Information sur la source

Note :
Aucune note
Catégorie :Base de données Niveau :Débutant Date de création :30/08/2003 Date de mise à jour :30/08/2003 22:28:57 Vu :4 234

Auteur : mastervanou

Ecrire un message privé
Site perso
Commentaire sur cette source (6)
Ajouter un commentaire et/ou une note

 Description

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

  • <?
  • 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;}
  • ?>
<?

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


 Sources du même auteur

Source avec Zip Source avec une capture GÉNÉRATEUR DE SONDAGES
Source avec Zip EXPLORATEUR DE FICHIER AVEC PRISE EN CHARGE DES ACCENTS & CO...
Source avec Zip Source avec une capture ESPACE MEMBRES AVEC MYSQL (2 TABLES)
Source avec Zip Source avec une capture PTI TAGBOARD POUR POSTER DES MESSAGE + EXEMPLE DE PSEUDOS FR...
Source avec Zip Source avec une capture LIVRE D'OR, ENCORE UN!

 Sources de la même categorie

Source avec Zip ORM : DAO, ACTIVERECORD ET DBLIST par Reldan
Source avec une capture CET EXTRAIT PERMET D'AJOUTER DANS UN TABLEAU UNE AGRÉGATION ... par Denis007
EXPORT DE BASE AU FORMAT CSV par remib74
Source avec Zip RECHERCHE DES DOUBLONS DANS UNE TABLE MYSQL EN SÉLECTIONNANT... par aladec2007
[CRON] INSERT ON DUPLICATE KEY UPDATE par pierreSabatier

Commentaires et avis

Commentaire de tomatokatchup le 31/08/2003 16:58:55

Y'as plus simple que ca.

Commentaire de defkrie le 31/08/2003 19:53:03

tu repete certaines instructions alors qu'on peut faire plus simple mais bon bravo tout de meme.

Commentaire de BeB3RePHPLover le 31/08/2003 20:03:49

Pas mal pas mal mais jvoi pas linteret d'utiliser mysql...
un compteur se limite a un nombre de visite point.

Commentaire de Pentium4 le 04/09/2003 15:06:54

Pour pouvoir garder le nombre de visiteur il faut bien une base de donnée ?
je pense que mysql est le bon choix mais au niveau du code c'est un peu trop lourd ^^ :s

Commentaire de mastervanou le 05/09/2003 15:42:07

non une base de données n'est pas indispensable... au début je l'avais fait avec un fichier texte séparé par des ';'
mais c'était trop chiant
pour ce qui est du code je l'ai meme pas vraiment regardé quand je l'ai fait!

Commentaire de brice57 le 06/03/2004 14:58:39

dans ta requête de création de table tu mets ip VARCHAR(14). Mets le plutôt en VARCHAR(15) parce que si l'ip est par exemple 193.252.220.138 tu as 15 caractères --&gt; plantage

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,452 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales