Partage
  • Partager sur Facebook
  • Partager sur Twitter

Géolocalisation IP par PHP

Avec des infos mises à jour SVP

    6 octobre 2023 à 21:06:35

    Bonjour,

    je cherche un code en PHP pour localiser les visiteurs de mon site. Actuellement je relève les IPV4 et IPV6 dans deux bases de données car j'avais commencé en 2019 !

    Mais là je voulais aller plus loin et voir d'où ils sont mais le cours est obsolète ! Les liens sont morts !

    Donc je cherche quelque chose qui me fasse avancer ( en PHP pas de java ou C++ ou Cobol ! )

    je cherche donc, à partir de l'IP d'un visiteur, trouver

    • son PAYS
    • sa Province
    • sa VILLE
    • les coordonnées ne m'intéressent pas pour le moment mais on ne sait jamais
    • L'adresse postale avec code postal ???

    Si quelqu'un peut m'aider ?

    merci !

    • Partager sur Facebook
    • Partager sur Twitter

    Toujours à l'écoute, comme tout marin ! ... et ... prenez bien soin de vous !

      7 octobre 2023 à 12:10:42

      Bonjour, je doutes de l'intérêt de la procédure mais bon tu peux regarder de ce côté https://ipinfo.io/ ou une api du style car celle ci semble payante, un appel simple avec en paramètre l'ip devrait te donner les données nécessaires avec curl tu devrais pouvoir faire ça

      https://www.php.net/manual/fr/book.curl.php

      -
      Edité par zvheer 7 octobre 2023 à 12:12:18

      • Partager sur Facebook
      • Partager sur Twitter

      yasakani no magatama

        8 octobre 2023 à 20:25:37

        Bonjour,

        D'emblée, l'adresse IP n'est pas une source fiable pour déterminer la position d'une personne. À voir si ton application peut vivre avec une grosse marge d'erreur. Si tel est le cas, c'est quand même une solution "facile" à implémenté.

        Tu peux regarder du côté de MaxMind GeoLite2 si tu veux quelque chose de gratuit : https://dev.maxmind.com/geoip/geolite2-free-geolocation-data

        Si tu as besoin d'être plus précis et plus certain de la position du visiteur, tu peux utiliser la géolocalisation du navigateur : https://www.w3schools.com/html/html5_geolocation.asp . Ainsi, tu peux, par exemple, récupérer la géolocalisation en JavaScript et la faire transiter pour l'utiliser où tu en as besoin. Il faudra que l'utilisateur donne son accord avant que le navigateur n'autorise la collecte de la géolocalisation, mais la position obtenu sera plus précise et plus fiable aussi.

        Après, évidemment, il te faut regarder l'aspect légale de tout cela. L'une ou l'autre des solutions demande un minimum de disposition afin d'être bien disposé à prélever ce genre de donnée.

        • Partager sur Facebook
        • Partager sur Twitter
          9 octobre 2023 à 8:27:18

          Hello, essai ça:

          <?php
          function getVisitorLocation($ip) {
              $api_url = "http://ip-api.com/json/{$ip}";
              $response = file_get_contents($api_url);
              
              if ($response !== false) {
                  $data = json_decode($response);
          
                  $country = $data->country;
                  $region = $data->regionName;
                  $city = $data->city;
                  $postalCode = $data->zip;
          
                  return [
                      'Country' => $country,
                      'Region' => $region,
                      'City' => $city,
                      'PostalCode' => $postalCode
                  ];
              } else {
                  return false;
              }
          }
          
          $visitor_ip = $_SERVER['REMOTE_ADDR']; // Obtenir l'IP du visiteur
          
          $location_info = getVisitorLocation($visitor_ip);
          
          if ($location_info) {
              echo "Pays: " . $location_info['Country'] . "<br>";
              echo "Région: " . $location_info['Region'] . "<br>";
              echo "Ville: " . $location_info['City'] . "<br>";
              echo "Code postal: " . $location_info['PostalCode'] . "<br>";
          } else {
              echo "Impossible de récupérer les informations de localisation pour cette IP.";
          }
          ?>



          • Partager sur Facebook
          • Partager sur Twitter
            21 février 2024 à 20:41:36

            désolé d'avoir mis du temps, mais il y a des moments plus ou moins propices ...

            bref voici ce que ça donne :

            1.49.9.126

            Warning: Undefined property: stdClass::$country in /srv/data/web...LOCALIZ/ListeLocalVisit.php on line 9

            Warning: Undefined property: stdClass::$regionName in /srv/data/web...LOCALIZ/ListeLocalVisit.php on line 10

            Warning: Undefined property: stdClass::$city in /srv/data/web...LOCALIZ/ListeLocalVisit.php on line 11

            sinon ça avait l'air pas mal, Kévin !   ;-)

            Warning: Undefined property: stdClass::$zip in /srv/data/web...LOCALIZ/ListeLocalVisit.php on line 12
            Pays:
            Région:
            Ville:
            Code postal:

            -
            Edité par jadu29 21 février 2024 à 20:45:42

            • Partager sur Facebook
            • Partager sur Twitter

            Toujours à l'écoute, comme tout marin ! ... et ... prenez bien soin de vous !

              22 février 2024 à 11:15:54

              Bonjour,

              si tu fais un var_dump($response), et aussi un var_dump($data) pour bonne mesure, tu as quoi ?

              • Partager sur Facebook
              • Partager sur Twitter

              Pas d'aide concernant le code par MP, le forum est là pour ça :)

              Géolocalisation IP par PHP

              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
              • Editeur
              • Markdown