[PHP] Enregistrer les IP des visiteurs de mon site

Bonjour à tous,

J'ai créé un site et je voudrai enregistrer l'IP de chaque visiteur, pour ce faire j'ai écrit un petit bout de code en php que voici

<?php
$inF = fopen("./ip.txt", "a" ); // ouvre le fichier ip.ini en mode append
fputs($inF, $REMOTE_ADDR."\n"); // récupère l'ip de l'utilisateur
$ip = $_SERVER["REMOTE_ADDR"];
$date_str = 'D d M Y H:i:s';
fputs($inF, $ip."\n");
fputs($inF, date($date_str), $ip."\n");
fputs($inF,"\n");
fclose($inF);
?>

malheureusement il ne marche qu'à moitié : les dates et heures s'inscrivent bien dans le fichier ip.txt, mais pas le code IP malgré l'instruction
fputs($inF, $ip."\n");

Quelle serait mon erreur
Merci

Bonjour,

Voila une version simplifiée de ton code :

<?php
$inF = fopen('./ip.txt', 'a');
fputs($inF, date('D d M Y H:i:s').' - '.$_SERVER["REMOTE_ADDR"]."\n");
fclose($inF);

Exemple de données dans le fichier ip.txt avec ce code :

Tue 06 Aug 2024 19:24:53 - 127.0.0.1
Tue 06 Aug 2024 19:24:53 - 127.0.0.1
Tue 06 Aug 2024 19:24:54 - 127.0.0.1
Tue 06 Aug 2024 19:24:55 - 127.0.0.1
Tue 06 Aug 2024 19:26:47 - 127.0.0.1
Tue 06 Aug 2024 19:28:04 - 127.0.0.1
    <?php
    session_start();
    if(file_exists('compteur_visites.txt'))
    {
            $compteur_f = fopen('compteur_visites.txt', 'r+');
            $compte = fgets($compteur_f);
    }
    else
    {
            $compteur_f = fopen('compteur_visites.txt', 'a+');
            $compte = 0;
    }
    if(!isset($_SESSION['compteur_de_visite']))
    {
            $_SESSION['compteur_de_visite'] = 'visite';
            $compte++;
            fseek($compteur_f, 0);
            fputs($compteur_f, $compte);
    }
    fclose($compteur_f);

    echo '<strong><font color="darkred" size ="5">Vous êtes le  ' .$compte. ' ème visiteur.</font></strong>';
    echo "<br>";
    //echo '<strong><font color="darkblack" size ="2">Votre adresse IP est : ' . get_ip ();     

    $inF = fopen('./ip.txt', 'a');
    fputs($inF, date('D d M Y H:i:s').' - '.$_SERVER["REMOTE_ADDR"]."\n");
    fclose($inF);    
    ?>         

Merci Sébastien

Mais malheureusement le code IP n'apparait toujours pas, je n'ai que la date !!!!!
Voici la totalité de mon code

remarque : au début je recherche le nombre de visiteurs au total

Dans ton code je vois cette ligne :

echo '<strong><font color="darkblack" size ="2">Votre adresse IP est : ' . get_ip();   

Si l'IP est bien affichée avec cette ligne, tu peux essayer d'utiliser ta fonction get_ip au lieu de REMOTE_ADDR :

fputs($inF, date('D d M Y H:i:s').' - '.get_ip()."\n");

Bonjour Sébastien,

Un grand merci, avec tes conseils je suis arrivé à obtenir ce que je voulais
Puis-je te poser une question supplémentaire ?
Avec l'adresse IP d'un visiteur puis-je faire apparaître sa localisation. J'ai trouvé des produits qui répondent à ma question, mais je me demande si je peux utiliser un bout de code pour obtenir cette information à inscrire dans mon fichier ip.txt.

Encore un grand merci et bien cordialement

Avec l'adresse IP d'un visiteur puis-je faire apparaître sa localisation.

Pas simplement ... Il faudra probablement passer par une APi tierce comme : https://ip-api.com/

merci,

C'est bien ce que je pensais
A+ et au plaisir

Rechercher des sujets similaires à "php enregistrer visiteurs mon site"