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 :

Strict standards: Creating default object from empty value in [PHP 5.3]


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif Avatar de pape0
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Septembre 2007
    Messages
    112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Septembre 2007
    Messages : 112
    Par défaut Strict standards: Creating default object from empty value in
    Dans un de mes projet en PHP.J’obtiens se message.

    "Strict standards: Creating default object from empty value on line 17 "
    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
    23
    24
    25
    26
    27
    28
    29
    30
    <?php
    $tmp = NULL ;
    $myMenu00 = new classe_menu() ;
    $myMenu00 = array(new classe_menu());
     
    if (!isset($_COOKIE['myPseudo'])) {
    $tmp= "Identification";
    }
    else {
    $tmp = $_COOKIE['myPseudo'];
    }
    $myMenu00[0]->nom = "Accueil" ;
    $myMenu00[0]->url = "../acceuil/mainpage00.php";
    $myMenu00[1]->nom = $tmp ;
    $myMenu00[1]->url = "../acceuil/mainpage01.php";
    $myMenu00[2]->nom = "Praiter" ;
    $myMenu00[2]->url = "../acceuil/mainpage02.php";
    $myMenu00[3]->nom = "Amis" ;
    $myMenu00[3]->url = "../acceuil/mainpage03.php";
    $myMenu00[4]->nom = "Forum" ;
    $myMenu00[4]->url = "../acceuil/mainpage04.php";
    $myMenu00[5]->nom = "Don" ;
    $myMenu00[5]->url = "../acceuil/mainpage05.php";
    $myMenu00[6]->nom = "Outils" ;
    $myMenu00[6]->url = "../acceuil/mainpage06.php";
    $myMenu00[7]->nom = "?" ;
    $myMenu00[7]->url = "../acceuil/mainpage07.php";
    //echo count($myMenu00);
     
    ?>
    Merci de m'aider

  2. #2
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Par défaut
    A vue de nez, je dirais que le problème se pose pour $myMenu00[1]. Comment le script sait-il quel type d'objet créer ? Si tu ne fais pas un new classe_menu à chaque fois, tu vas créé des objets Stdclass...

    Il vaudrait également mieux ne pas redéfinir $myMynu00 toutes les 2 lignes

    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    <?php
    $tmp = NULL ;
    if (!isset($_COOKIE['myPseudo'])) {
    $tmp= "Identification";
    }
    else {
    $tmp = $_COOKIE['myPseudo'];
    }
     
    $myMenu00 = array();
    $myMenu00[0] = new classe_menu();
    $myMenu00[0]->nom = "Accueil" ;
    $myMenu00[0]->url = "../acceuil/mainpage00.php";
    $myMenu00[1] = new classe_menu();
    $myMenu00[1]->nom = $tmp ;
    $myMenu00[1]->url = "../acceuil/mainpage01.php";
    $myMenu00[2] = new classe_menu();
    $myMenu00[2]->nom = "Praiter" ;
    $myMenu00[2]->url = "../acceuil/mainpage02.php";
    $myMenu00[3] = new classe_menu();
    $myMenu00[3]->nom = "Amis" ;
    $myMenu00[3]->url = "../acceuil/mainpage03.php";
    $myMenu00[4] = new classe_menu();
    $myMenu00[4]->nom = "Forum" ;
    $myMenu00[4]->url = "../acceuil/mainpage04.php";
    $myMenu00[5] = new classe_menu();
    $myMenu00[5]->nom = "Don" ;
    $myMenu00[5]->url = "../acceuil/mainpage05.php";
    $myMenu00[6] = new classe_menu();
    $myMenu00[6]->nom = "Outils" ;
    $myMenu00[6]->url = "../acceuil/mainpage06.php";
    $myMenu00[7] = new classe_menu();
    $myMenu00[7]->nom = "?" ;
    $myMenu00[7]->url = "../acceuil/mainpage07.php";
    Au passage, ce serait peut-être une bonne idée de faire un constructeur qui prenne le nom et l'url en paramètre, histoire de ne pas réécrire le même code 7 fois...
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  3. #3
    Membre très actif Avatar de pape0
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Septembre 2007
    Messages
    112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Septembre 2007
    Messages : 112
    Par défaut
    la classe est deja instancier.

  4. #4
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Par défaut
    Oui, une fois. Mais tu dois l'instancier autant de fois que tu souhaites avoir d'instances (logique) et de ce que je peux voir il te faut une instance par élément de menu.
    Ou alors c'est que j'ai mal compris le fonctionnement de ta classe Classe_menu
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  5. #5
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    tu penses faire quoi en faisant ca ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $myMenu00 = new classe_menu() ;
    $myMenu00 = array(new classe_menu());

  6. #6
    Membre très actif Avatar de pape0
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Septembre 2007
    Messages
    112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Septembre 2007
    Messages : 112
    Par défaut
    Citation Envoyé par stealth35 Voir le message
    tu penses faire quoi en faisant ca ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $myMenu00 = new classe_menu() ;
    $myMenu00 = array(new classe_menu());

    c'est pas exacte. C'est se que j'ai fais

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

Discussions similaires

  1. [4.1] Creating default object from empty value
    Par maxgosset dans le forum Laravel
    Réponses: 2
    Dernier message: 18/11/2015, 12h45
  2. [COM] Failed to create COM object word.application: Accès refusé
    Par groovyroe dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 10/05/2009, 17h46
  3. Could not load object from location
    Par AsyNew dans le forum Jasper
    Réponses: 4
    Dernier message: 02/05/2009, 16h52
  4. unable to create variable object
    Par Batou dans le forum C++
    Réponses: 2
    Dernier message: 09/05/2006, 07h49

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