Groupe : Membres Messages : 121 |
Bonjour, j'ai besoin d'aide, j'aimerais savoir comment faire pour faire un compteur de visites ou les ip seraient enregistrés et effacer au bout de 24h... PS: Je n'ai pas compris le tuto concernant se sujet .
Maxime
|
![]() Groupe : Membres Messages : 301 |
Je pense que tu peux t'appuyer sur des scripts de vote qui permette de faire qu'un sondage dure X jours | heures ou minutes ... Et aussi pour que chaque Ip soit compté et ne vote qu'une fois.(ca se passe dans la bdd je crois) Donc je te donne un bon site pour disons pomper quelques idées http://www.phpcs.com/ Chuck Norris peut te faire passer un sale quart d'heure en 8 minutes. L'infographie bien plus qu'une passion ... |
Groupe : Membres Messages : 121 |
J'ai trouvé un code mais je ne comprends pas l'erreur . http://lyokoworld.fr/site/compteur.phpCode PHP:
<?php function get_ip() { if($_SERVER) { if($_SERVER['HTTP_X_FORWARDED_FOR']) $ip = $_SERVER['HTTP_X_FORWARDED_FOR']; elseif($_SERVER['HTTP_CLIENT_IP']) $ip = $_SERVER['HTTP_CLIENT_IP']; else $ip = $_SERVER['REMOTE_ADDR']; } else { if(getenv('HTTP_X_FORWARDED_FOR')) $ip = getenv('HTTP_X_FORWARDED_FOR'); elseif(getenv('HTTP_CLIENT_IP')) $ip = getenv('HTTP_CLIENT_IP'); else $ip = getenv('REMOTE_ADDR'); } return $ip; } $fichier = fopen("compteurip.cip","r"); $content = fread($fichier, filesize ("compteurip.cip")); fclose($fichier); $fichier2 = fopen("compteurip.cip","w"); $tab = explode("n",$content); if($content == ''){ $nbrvisits = 0; fwrite($fichier2,get_ip()); fclose($fichier2); setcookie('ip',get_ip(),time()+8600000); }elseif(isset($_COOKIE['ip'])){ fwrite($fichier2,$content); fclose($fichier2); $nbrvisits = sizeof($tab); }else{ $nbrvisits = sizeof($tab); if(strchr($content,get_ip()) == false){ fwrite($fichier2,$content."n".get_ip()); fclose($fichier2); setcookie('ip',get_ip(),time()+8600000); }else{ fwrite($fichier2,$content); fclose($fichier2); setcookie('ip',get_ip(),time()+8600000); } } echo ' '. $nbrvisits.' visiteurs!'; ?> Maxime
|
![]() Groupe : Admins Messages : 2070 |
Il faut le mettre avant tout code HTML, car il va définir des cookies. Pourrait-tu nous donner le code complet de ta page ? |
Groupe : Membres Messages : 121 |
Bien sur, voici donc le code complet de compteur.php que ensuite j'includerai dans mon footer. Code PHP:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>Document sans titre</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head> <body bgcolor="#808080"> <div align="center"> <table width="16%" height="121" border="0" background="compteur4.JPG"> <tr> <td> </td> </tr> <tr> <td> <div align="center"></div> <div align="center"></div> <?php function get_ip() { if($_SERVER) { if($_SERVER['HTTP_X_FORWARDED_FOR']) $ip = $_SERVER['HTTP_X_FORWARDED_FOR']; elseif($_SERVER['HTTP_CLIENT_IP']) $ip = $_SERVER['HTTP_CLIENT_IP']; else $ip = $_SERVER['REMOTE_ADDR']; } else { if(getenv('HTTP_X_FORWARDED_FOR')) $ip = getenv('HTTP_X_FORWARDED_FOR'); elseif(getenv('HTTP_CLIENT_IP')) $ip = getenv('HTTP_CLIENT_IP'); else $ip = getenv('REMOTE_ADDR'); } return $ip; } $fichier = fopen("compteurip.cip","r"); $content = fread($fichier, filesize ("compteurip.cip")); fclose($fichier); $fichier2 = fopen("compteurip.cip","w"); $tab = explode("n",$content); if($content == ''){ $nbrvisits = 0; fwrite($fichier2,get_ip()); fclose($fichier2); setcookie('ip',get_ip(),time()+8600000); }elseif(isset($_COOKIE['ip'])){ fwrite($fichier2,$content); fclose($fichier2); $nbrvisits = sizeof($tab); }else{ $nbrvisits = sizeof($tab); if(strchr($content,get_ip()) == false){ fwrite($fichier2,$content."n".get_ip()); fclose($fichier2); setcookie('ip',get_ip(),time()+8600000); }else{ fwrite($fichier2,$content); fclose($fichier2); setcookie('ip',get_ip(),time()+8600000); } } echo ' '. $nbrvisits.' visiteurs!'; ?> <div align="center"></div> <div align="center"></div> <div align="center"></div></td> </tr> <tr> <td> </td> </tr> </table> </div> </body> </html> Maxime
|
Groupe : Membres Messages : 1 |
Et pourquoi pas faire un système tout bête avec une tache cron qui efface le fichier tous les jours a 12h00 ? Il faut bien entendu avec accès a cron ou utiliser un site gratuit mais desfois leurs services sont pas top top :/ |