Télécharger le zip
comment dire...c plus un tutorial qu'une source utilisable telle quellem'enfinkiki
ah oui aussi, bon, c pas grand chose, mais bon faut le direprint("<b>Vous etes le visiteur Num </b>: $nbvisites"."<br>"); // 7.On affiche le compteur à l'écranj'aurais mis plutôt :1) echo '<strong>Vous êtes le visiteur Num</strong> :'.$nbvisites.'<br />';2) un coup tu concatènes, un coup tu concatènes pas, un coup tu utilises print, un coup tu utilises echo... brefFaut être plus régulierSinon rien à dire et rien à noterkiki
Perso j'aurais plutot utlisé un seul fichier XML plutôt que 2 fichier textes
L'histoire du fichier xml ne change rien car c'est deux exemples différents en fait... le compteur en lui même n'en utilise qu'un... .. .Sinon il ne faut pas mettre Vous etes le visiteur Num </b>: $nbvisites mais plutot Cette page a été visionnée $nbvisites foisCar ce n'est pas le nombre de visiteur que tu récupère mais le nombre d'affichage de la page... la nuance est de taille... quand à l'affichage de l'adresse ip ça risque de bloquer si l'internaute est derrière un proxy (entre autre)... .. .Sinon bof bof... code très... trop basique... léger manque de rigueur dans la façon de coder... concaténer des chaines entre doubles quotes est un peu inutile... surtout dans ce genre de casprint("<b>Vous etes le visiteur Num </b>: $nbvisites"."<br>");=>print('<b>Vous etes le visiteur Num </b>: '.$nbvisites.'<br>');Le compteur n'est même pas multipage ce qui aurait été un plus non négligeable... ça se fait en deux minutes... .. !function myCounter($page, $file = 'counter.txt'){ if(!is_file($file)) // si le fichier n'existe pas on le crée et on initialise son contenu { touch($file); $contents = array(); } elseif(false === ($contents = file_get_contents($file))) // on récupère le contenu en cas d'échec on renvoi false return false; else $contents = unserialize($contents); // on délinéarise le contenu // la page est enregistrée ou non... si oui on incrémente de 1 sinon on initialise à 1 if(!isset($contents[$page])) $contents[$page] = 1; else $contents[$page]++; // on ouvre le fichier en écriture en virant son contenu en cas d'échec on renvoi false if(false === ($handle = @fopen($file,"w"))) return false; // on écrit le contenu linéarisé en cas d'échec on renvoi false après avoir fermé le pointeur if(!@fwrite($handle,serialize($contents))) { @fclose($handle); return false; } // on ferme le pointeur @fclose($handle); // on renvoie le nombre d'affichage de la page return $contents[$page]; }echo 'Cette page à été affichée '.myCounter('maPage').' fois';Ca peut même pas vraiment servir de tuto car il n'y a pas vraiment d'explication... .. .Bref... sans vouloir être méchant ça fait plus penser à un code écrit en deux minutes après avoir découvert les fonction f*() qu'a un vrai code ou un tutorial... 4/10... .. .@ tchaOo°
bien que un peut sévère, j'suis d'accord avec kankrelune, ce code est un peu léger. Ce qui me dérange un peu c'est le fait d'incrémenter une variable à chaque rechargement de page, rien que toi en allant sur ta page tu va rajouter une dizaine de visites par jour.Par contre c’est toujours bien de rappeler comment lire et écrire dans un fichier.perso j'préfère utiliser un XML (avec simpleXML) et y stocker l'IP du visiteur et le timestamp. Cela te permet de vérifier si le visiteur est déjà venue sur ta page et dans se cas tu n'effectue pas d'incrémentation. le timestamp te permet de supprimer les IPs après X temps pour ne pas surcharger ton fichier. Par contre j’ai entendu qu’on a pas trop le droit de stocker l’IP des visiteurs, info ou intox ???
nacedo57400 > "Par contre j’ai entendu qu’on a pas trop le droit de stocker l’IP des visiteurs, info ou intox ???" <<< si ya une declaration CNIL où est mentionné 'données de connexions' ça passe, pour les blogs (et site perso ?) il me semble que rien n'est à declarer.
Se souvenir du profil
Mot de passe oublié ? / Activation de compteCréer un compte
1 623 075 membres 44 nouveaux aujourd'hui 15 510 membres club