Geolocalisation

Fermé
Basm - 24 mars 2017 à 12:45
 Basm - 24 mars 2017 à 15:43
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

A voir également:

3 réponses

jordane45 Messages postés 38447 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 8 mars 2025 4 739
24 mars 2017 à 12:47
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 lundi 11 février 2013 Statut Membre Dernière intervention 21 juillet 2022 526
24 mars 2017 à 13:56
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
Merci pour votre reponse
comment vais je faire pour obtenir un True
?
Faut-il ajouter des fichiers?
0