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 :

"Undefined variable" pourtant j'ai bien déclarée la variable "$description"


Sujet :

Langage PHP

  1. #1
    Membre très actif
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2013
    Messages
    453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2013
    Messages : 453
    Par défaut "Undefined variable" pourtant j'ai bien déclarée la variable "$description"
    Bonjour.

    Ayant bel et bien déclaré ma variable $description, quand j'essaie de l'afficher avec echo $description, je vois un retour d'erreur:

    Notice: Undefined variable: description in C:\laragon\www\testdoc\test.php on line 22

    Voici mon code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    <?php
    require("vendor/autoload.php");
    use Embed\Embed;
     
    $embed = new Embed();
     
    //Load any url:
    $embedInfo = $embed->get('https://fr.wikipedia.org/wiki/YouTube');
     
    //Get content info
     
    $embedInfo->title; //The page title
    $embedInfo->description; //The page description
    $embedInfo->url; //The canonical url
    $embedInfo->keywords; //The page keywords
     
     
    if ($embedInfo == true && !empty($embedInfo->description)) {
    	$description = rawurldecode($embedInfo->description);
    }
     
    echo $description."<br /><br />";

    Tout me semble pourtant correct mais l'erreur, je ne comprends pas pourquoi ?
    Merci de m'aider.

  2. #2
    Membre Expert
    Avatar de cavo789
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2004
    Messages
    1 797
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 797
    Par défaut Et c'est parfaitement normal...
    Vérifie un peu ton code et imagine que la condition "if" est fausse. Selon toi, la variable existe-t-elle ou pas ?

  3. #3
    Membre très actif
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2013
    Messages
    453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2013
    Messages : 453
    Par défaut
    Merci pour la réponse. J'ai prédéfini la variable $description = "" mais rien ne s'affiche. Donc, j'ai simplement fait dans le if ($embedInfo == true), et supprimé && !empty($embedInfo->description)

  4. #4
    Expert confirmé Avatar de CosmoKnacki
    Homme Profil pro
    Justicier interdimensionnel
    Inscrit en
    Mars 2009
    Messages
    2 986
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Justicier interdimensionnel

    Informations forums :
    Inscription : Mars 2009
    Messages : 2 986
    Par défaut
    $embedInfo est censé être une instance de la classe Extractor. C'est curieux de le comparer au booléen true, même de façon non stricte.

  5. #5
    Membre très actif
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2013
    Messages
    453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2013
    Messages : 453
    Par défaut
    Merci pour votre réponse. Mais, C'est plutôt $embed qui est fait est l'instance non ???

    Sinon, que devrais-je donc faire comme condition ?

  6. #6
    Modérateur
    Avatar de MasterMbg
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2011
    Messages
    719
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Congo-Kinshasa

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2011
    Messages : 719
    Par défaut
    Bonjour,

    Citation Envoyé par cheboy Voir le message

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <?php
     
    if ($embedInfo == true && !empty($embedInfo->description)) {
    	$description = rawurldecode($embedInfo->description);
    }
     
    echo $description."<br /><br />";
    Parce que ta variable $description n'est créée que si la condition (dans le bloc if ) est vérifiée (donc renvoie TRUE), c'est tout à fait normal qu'au moment de l'affichage avec echo la variable ne soit pas reconnue si la condition n'est pas vérifiée. C'est pourquoi tu as cette erreur.

    Si tu déclares la variable $description en dehors de if (au dessus bien sûr), cette erreur va disparaître. Le résultat sera soit, la valeur affectée à la variable au moment de la déclaration si la condition n'est pas vérifiée (renvoie FALSE) soit la valeur affectée à la variable dans le bloc if si la condition est vérifiée.


    ChrisDjo MBG,
    Plus tu apprends sérieusement, plus tu te rapproches d'un savoir noble. Une chose est certaine, les difficultés ne s'écarteront de ton chemin...

    Tu es nouveau dans le développement Android, la page des COURS est là pour te faciliter la vie
    Tu peux trouver la réponse à ta question dans la FAQ
    Retrouvez mon tutoriel sur la consommation des services web SOAP
    Pense à voter positivement en appuyant sur en bas à droite de la réponse qui t'a donné une piste de solution.

  7. #7
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 492
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 492
    Billets dans le blog
    1
    Par défaut
    Bonjour,
    tu dis dans le post #3 avoir modifié le code ; donne le nouveau code STP. Et rajoute après ta ligne 20 un vardump de la condition du if.

Discussions similaires

  1. Réponses: 2
    Dernier message: 31/03/2017, 10h22
  2. Notice: Undefined variable
    Par oranoutan dans le forum Langage
    Réponses: 19
    Dernier message: 21/12/2005, 22h28
  3. undefined variable
    Par ept35 dans le forum Langage
    Réponses: 3
    Dernier message: 30/11/2005, 15h48
  4. Notice: Undefined variable
    Par kayn dans le forum Langage
    Réponses: 2
    Dernier message: 03/10/2005, 20h44
  5. Réponses: 3
    Dernier message: 22/09/2005, 11h24

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