IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

erreur Undefined offset et Trying to get property of non-object


Sujet :

Langage PHP

  1. #1
    Membre actif
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Mai 2009
    Messages
    447
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Mai 2009
    Messages : 447
    Points : 241
    Points
    241
    Par défaut erreur Undefined offset et Trying to get property of non-object
    Bonjour tous le monde.

    je rencontre un probleme au niveau du code php. je récupere l'adresse ip du visiteur depuis un fichier txt et je fait un traitement sur les lignes.

    exemple de ligne de txt :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Ip: 127.0.0.1 ---> 06 02 2018 04:11:06
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    $cleanip = rtrim($tab[1],",");
    $record = geoip_record_by_addr($gi,$cleanip);
    				$ville=$record->city;
    				$pays=$record->country_name;
    				echo $cleanip." Ville: ".$ville." Pays: ".$pays." le: ".$tab[3]."-".$tab[4]."-".$tab[5]." à: ".$tab[6]."<br>";
    				fwrite($fichierfinal, $cleanip." Ville: ".$ville." Pays: ".$pays." le: ".$tab[3]."-".$tab[4]."-".$tab[5]." à: ".$tab[6]."\n");
    maintenant le probléme c'est que je reçois cette erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    Notice: Trying to get property of non-object in C:\Program Files\EasyPHP-DevServer-14.1VC9\data\localweb\test\douvienslesvisiteurstraitementips.php on line 41
    Notice: Trying to get property of non-object in C:\Program Files\EasyPHP-DevServer-14.1VC9\data\localweb\test\douvienslesvisiteurstraitementips.php on line 42
     
    Notice: Undefined offset: 3 in C:\Program Files\EasyPHP-DevServer-14.1VC9\data\localweb\test\douvienslesvisiteurstraitementips.php on line 43
     
    Notice: Undefined offset: 4 in C:\Program Files\EasyPHP-DevServer-14.1VC9\data\localweb\test\douvienslesvisiteurstraitementips.php on line 43
     
    Notice: Undefined offset: 5 in C:\Program Files\EasyPHP-DevServer-14.1VC9\data\localweb\test\douvienslesvisiteurstraitementips.php on line 43
     
    Notice: Undefined offset: 6 in C:\Program Files\EasyPHP-DevServer-14.1VC9\data\localweb\test\douvienslesvisiteurstraitementips.php on line 43
    ligne 41 et 42 et 43 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $ville=$record->city;
    $pays=$record->country_name;
    echo $cleanip." Ville: ".$ville." Pays: ".$pays." le: ".$tab[3]."-".$tab[4]."-".$tab[5]." à: ".$tab[6]."<br>";
    parfois $record->city et $record->country_name peut avoir une valeur null et donc rien retourner.
    est ce qu'il ya une methode pour depasser cette erreur.
    Merci

  2. #2
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 235
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 235
    Points : 15 532
    Points
    15 532
    Par défaut
    Vous pouvez tester cela avec cette fonction : https://secure.php.net/manual/fr/function.isset.php

    cela donne ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    if (!isset($record)) {
        // aucun retour
     
    } else {
        // récupération de la ville et pays
     
    }

  3. #3
    Membre actif
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Mai 2009
    Messages
    447
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Mai 2009
    Messages : 447
    Points : 241
    Points
    241
    Par défaut
    Merci mathieu,

    avec :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if(is_array($tab) && isset($tab[1]) && isset($record))
    j'ai récolu le probléme. Merci Beaucoup.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 6
    Dernier message: 22/01/2016, 23h22
  2. [MySQL] Erreur de type : "Trying to get property of non-object in"
    Par Prisss dans le forum PHP & Base de données
    Réponses: 25
    Dernier message: 16/12/2010, 07h02
  3. Réponses: 3
    Dernier message: 08/02/2008, 20h02
  4. Réponses: 11
    Dernier message: 28/08/2007, 12h06
  5. [POO] Erreur Trying to get property of non-object
    Par Niouts dans le forum Langage
    Réponses: 14
    Dernier message: 13/09/2006, 10h09

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo