Le nb visiteur par l'addresse ip n'increment pas
Résolu
Meriem
-
Meriem -
Meriem -
Salam
je veux programmé le nombre de visiteur par une addresse ip j'ai trouvé ça dans le net
et le fichier.htcompteur
je veux programmé le nombre de visiteur par une addresse ip j'ai trouvé ça dans le net
<?php /* * Si le fichier où l'on stock, * les données n'existe pas encore * on le crée. */ $fichier = '.htcompteur'; if( !file_exists($fichier) ) { $fp = fopen($fichier, "w"); fwrite($fp, serialize(array())); fclose($fp); } /* * Définition de variables * nécessaire au compteur : * - deux termes constants, * - l'ip du visiteur, * - la date et l'heure. */ $argument_visites = 'visites'; $argument_requêtes = 'requêtes'; if (isset($_SERVER['HTTP_CLIENT_IP'])) { $ip=$_SERVER['HTTP_CLIENT_IP']; } // IP derrière un proxy elseif (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) { $ip=$_SERVER['HTTP_X_FORWARDED_FOR']; } // Sinon : IP normale else { $ip = $_SERVER['REMOTE_ADDR']; } // Afficher l'adresse IP echo 'Adresse IP réelle du visiteur : ' .get_ip(); $time = date('YmdGis'); /* * Récupération des données du * compteur précédemment stockées. */ $lignes = file($fichier); $donnees = unserialize($lignes[0]); /* * Pour chaque clés du tableau de données * qui ne soit pas attribuée aux visite et aux requêtes * si la valeur correspond à une date antérieur * au même jour, on supprime l'ip du visiteur. */ foreach( $donnees as $cle => $valeur ) { if( substr($valeur, 0, 8) != substr($time, 0, 8) && $cle != $argument_visites && $cle != $argument_requêtes ) { unset($donnees[$cle]); } } /* * On incrémente ( ajoute +1 ) la valeur * du nombre de requêtes. * Si l'ip n'est pas encore enregistrée, * on incrémente la valeur du nombre de visites * et on ajoute l'ip dans le tableau accompagné * de la date et de l'heure de l'exécution. */ $donnees[$argument_requêtes]++; if( !$donnees[$ip] ) { $donnees[$argument_visites]++; $donnees[$ip] = $time; } /* * On effectue un petit report de variable * pour une utilisation ultérieur plus aisée. */ $nb_visiteurs = $donnees[$argument_visites]; $nb_aujourdhui = count($donnees)-2; $nb_requêtes = $donnees[$argument_requêtes]; /* * On stock le tableau dans le fichier de données * en écrasant sa valeur précédente. */ $fp = fopen($fichier,"w"); fwrite($fp, serialize($donnees)); fclose($fp); /* * On affiche les résultats du compteur. */ echo $nb_visiteurs." visiteurs dont "; echo $nb_aujourdhui." aujourd'hui, "; echo $nb_requêtes." pages affichées "; ?>
et le fichier.htcompteur
a:3:{s:8:"requêtes";i:13;s:7:"visites";i:1;s:9:"127.0.0.1";s:13:"2018041885448";}mais ça ne fonctionne pas le 1 n'incremente pas en ligne j'ai esseyer par 2 @ip défférente mais aucun résultat
A voir également:
- Le nb visiteur par l'addresse ip n'increment pas
- Ethernet n'a pas de configuration ip valide - Guide
- Télévision ip - Guide
- Comment connaître son adresse ip - Guide
- IPTV illégal : après les pirates, la justice condamne maintenant les clients… jusqu'à la prison ! - Guide
- Ip local - Guide
1 réponse
Bonjour,
Première chose ... retire les accents sur le nom de tes variables
devrait être
Ensuite, applique ceci : https://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code
Première chose ... retire les accents sur le nom de tes variables
$argument_requêtes
devrait être
$argument_requetes
Ensuite, applique ceci : https://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code
ini_set('display_errors', TRUE);
ini_set('display_startup_errors', TRUE);
et donner cet error Notice: Undefined index: 198.195.49.192 in nbv.php on line 21 Warning: fopen(.htcompteur): failed to open stream: Permission denied in ... comment régler ce problème