afficher le pays des visiteurs

Eléphanteau du PHP | 19 Messages

13 déc. 2007, 00:36

Bonjour,

Je cherche un moyen de détecter le pays de provenance des visiteurs de mon site et de l'afficher sur ma page.
J'ai essayé plein de formules différentes, et celle qui a le plus retenu mon attention et la solution avec ip_to_country (http://ip-to-country.webhosting.info/ ) .
Si l'un d'entre vous connaît cette formule, pourriez-vous m'aider à la mettre en oeuvre?

J'ai créé mes tables et inséré le fichier csv qui est fourni sur le site, mais mon code ne semble pas fonctionner. Je vous le mets ci-dessous pour que vous ayez des indications sur ma façon de faire, mais je suppose qu'il comporte pas mal d'erreurs.:oops:
<?php
include ("connexion.php");

$ip = $_SERVER['REMOTE_ADDR'];
$ip_number = sprintf("%u", ip2long($ip));

$sql= "SELECT country_name FROM iptoc WHERE ip_from <= $ip_number and IP_TO >= $ip_number";
 $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
  $data = mysql_fetch_assoc($req);
  
  echo 'votre adresse IP est $ip_number, votre lieu est '.$data ['$country_name'].'';
  
  ?>
De plus, si vous connaissez des solutions alternatives qui fonctionnent bien, je suis ouverte à vos propositions!

Merci par avance! ;)

Eléphant du PHP | 445 Messages

13 déc. 2007, 03:02

Dans le genre pas cher (gratuit c'est pas cher) tu as GeoIP.
Il y a un CSV et un PHP a télécharger.

http://software77.net/geoip-software.htm

Eléphanteau du PHP | 19 Messages

13 déc. 2007, 20:15

ça a l'air pas mal du tout! je vais le tester et je vous tiens au courant, merci! :D

Eléphanteau du PHP | 19 Messages

16 déc. 2007, 19:39

:shock: Je suis allée voir la page que tu me proposes et j'ai testé...

Quand on lit tout l'article, on se dit qu'on peut y arriver que c'est vraiment bien expliqué, mais finalement je bloque. J'ai bien inséré la BDD, j'ai utilisé le fichier PHP qui est proposé et ça ne marche pas. Il y a également un fichier PERL qu'il faut placer sur le serveur, je l'ai fait mais sans être sûre de ce que je faisais car je n'ai jamais utilisé ce langage avant. Bref, je ne parviens toujours pas à afficher le pays des visiteurs. :(
Ça n'a pourtant pas l'air SI compliqué à en croire toutes les explications que j'ai lues sur le web, mais je bloque quelque part et je n'arrive pas à savoir où.
Je vais encore continuer mes recherches et mes tests, et en tout cas je te remercie pour ce lien! :)

Eléphant du PHP | 445 Messages

16 déc. 2007, 19:48

Soit tu utilises le fichier csv avec un parser en PHP (le fichier PHP est donné sur leur site).
Soit tu insères le CSV dans une BDD et tu crees toi meme les fonctions permettant d'y acceder (ce qui en soit n'est pas compliqué).

Pour info, tu n'utilise pas une Adresse IP sous sa forme xxx.xxx.xxx.xxx mais une adresse IP converti ( ip2long() )