Geolocalisation

Basm -  
 Basm -
Bonjour,
je veux créer une platforme web et qui va permettre de geolocaliser les visiteurs du site. mais j'ai des erreurs. voici le code et voyez moi s'il une rectification que je dois faire ou s'il faut ajouter encore des lignes de code dont j'ai pas connaissance
<?php
include "maxmind/lib/geoipcity.inc";
include "maxmind/lib/geoipregionvars.php";

$base = geoip_open(realpath("maxmind/GeoLiteCity.dat"), GEOIP_STANDARD);

$getInfoUser = GeoIP_record_by_addr($base, $_SERVER['REMOTE_ADDR']);

echo $getInfoUser->country_name;

echo $getInfoUser->city;

?>
Et voici ce s'affiche comme erreur: Trying to get property of non-object in C:\wamp\www\geolite_text\geo.php on line 27
Trying to get property of non-object in C:\wamp\www\geolite_text\geo.php on line 29

3 réponses

jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Bonjour,
Et qu'as tu dans le fichier geo.php aux lignes 27 et 29 ?

PS: Merci de lire ceci : https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code
0
Pitet Messages postés 2826 Date d'inscription   Statut Membre Dernière intervention   527
 
Salut,

D'après la documentation : la fonction GeoIP_record_by_addr "Retourne un tableau associatif en cas de succès, ou FALSE si l'adresse n'a pu être trouvée dans la base de données. "

Il faut donc vérifier que la valeur de retour ne soit pas égale à false pour afficher les données :
$getInfoUser = GeoIP_record_by_addr($base, $_SERVER['REMOTE_ADDR']);

if ($getInfoUser) {
    echo $getInfoUser->country_name;
    echo $getInfoUser->city; 
} else {
    echo 'l\'adresse n'a pu être trouvée dans la base de données';
}


Bonne journée,
0
Basm
 
Merci pour votre reponse
comment vais je faire pour obtenir un True
?
Faut-il ajouter des fichiers?
0