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

PHP & Base de données Discussion :

Erreur de type : "Trying to get property of non-object in"


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Juin 2010
    Messages
    86
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2010
    Messages : 86
    Par défaut Erreur de type : "Trying to get property of non-object in"
    Bonjour,

    je fais la partie admin de mon site internet mais j'ai des problèmes.

    je fais les pages pour la modification de ma base de données mais j'ai des erreurs de type :
    "Trying to get property of non-object in"
    j'ai cherché d’où peuvent venir ces erreurs mais je n'ai pas trouvé.

    voici le code de ma page 1 :
    Code php : 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
      <?php
        //connection au serveur:
        $connexion = mysql_connect( "localhost", "root", "" ) ;
     
        //sélection de la base de données:
        $db = mysql_select_db( "emb" ) ;
     
        //requête SQL:
        $sql = "SELECT NomEntreprise, TexteClient, LogoEnt, IdCategorie FROM client ORDER BY NomEntreprise" ;
     
        //exécution de la requête:
        $requete = mysql_query( $sql, $connexion ) ;
     
        //affichage des données:
        while( $result = mysql_fetch_object( $requete ) )
        {
           echo("* * * * * * * * * * * * * * * * * * * * * * * * * * *
    <div align=\"left\">".$result->NomEntreprise." ".$result->TexteClient." <a href=\"modification2.php?idPersonne=".$result->LogoEnt." ".$result->IdCategorie."\"><br />modifier</a><p>\n") ;
        }
      ?>

    ma page 2 :
    Code php : 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
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
      <?php
      //connection au serveur:
      $connexion = mysql_connect( "localhost", "root", "" ) ;
     
      //sélection de la base de données:
      $db = mysql_select_db( "emb" ) ;
     
      //récupération de la variable d'URL,
      //qui va nous permettre de savoir quel enregistrement modifier
      $IdEntrepriseRef  = $_POST["IdEntrepriseRef "] ;
     
      //requête SQL:
      $sql = "SELECT * FROM client WHERE IdEntrepriseRef = ".$IdEntrepriseRef ;
     
      //exécution de la requête:
      $requete = mysql_query( $sql, $connexion ) ;
     
      //affichage des données:
      if( $result = mysql_query( $requete ) )
     ?>
     <form name="insertion" action="modification3.php" method="POST">
      <input type="hidden" name="IdEntrepriseRef" value="<?php echo($result->IdEntrepriseRef) ;?>">
      <table border="1" align="left" cellspacing="4" cellpadding="4">
        <tr align="left">
          <td>Nom du client</td>
          <td><input type="text" name="NomEntreprise" value="<?php echo($result->NomEntreprise) ;?>"></td>
        </tr>
        <tr align="left">
          <td>Texte Client</td>
          <td><input type="text" name="TexteClient" value="<?php echo($result->TexteClient) ;?>"></td>
        </tr>
        <tr align="left">
          <td>Logo du client</td>
          <td><input type="text" name="LogoEnt" value="<?php echo($result->LogoEnt) ;?>"></td>
        </tr>
        <tr align="left">
          <td>Identifiant du client</td>
          <td><input type="text" name="Categorie" value="<?php echo($result->IdCategorie) ;?>"></td>
        </tr>
        <tr align="center">
          <td colspan="2"><input type="submit" value="modifier"></td>
        </tr>
      </table>
    </form>

    ma page 3 :
    Code php : 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
    35
    36
    37
    38
    39
    40
    41
    <?php
      //connection au serveur
      $connexion = mysql_connect( "localhost", "root", "" ) ;
     
      //sélection de la base de données:
      $db  = mysql_select_db( "emb" ) ;
     
      //récupération des valeurs des champs:
      //nom:
      $NomEntreprise = $_POST["NomEntreprise"] ;
      //prenom:
      $TexteClient = $_POST["TexteClient"] ;
      //adresse:
      $LogoEnt = $_POST["LogoEnt"] ;
      //code postal:
      $IdCategorie = $_POST["IdCategorie"] ;
     
      //récupération de l'identifiant de la personne:
      $IdEntrepriseRef = $_GET["IdEntrepriseRef"] ;
     
      //création de la requête SQL:
      $sql = "UPDATE client
            SET NomEntreprise = '$NomEntreprise', 
    	    TexteClient = '$TexteClient',
    		LogoEnt = '$LogoEnt',
    		IdCategorie = '$IdCategorie'";
     
      //exécution de la requête SQL:
      $requete = mysql_query($sql, $connexion) or die( mysql_error() ) ;
     
     
      //affichage des résultats, pour savoir si la modification a marchée:
      if($requete)
      {
        echo("La modification à été correctement effectuée") ;
      }
      else
      {
        echo("La modification à échouée") ;
      }
    ?>

    de plus j'ai une erreur
    Notice: Undefined index: IdEntrepriseRef
    donc pour celle ci je sais pas dans qu'elle page elle se trouve enfin il mets dans la page 2 !
    mais peut être que je me suis trompé dans le code je ne sais pas trop.

    merci de votre aide =)

    ps : pour info première fois que je fais une partie admin donc j'ai beaucoup de mal à la réaliser !

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    99
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 99
    Par défaut
    Bonjour,

    ta variable
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
     $_POST["IdEntrepriseRef "]
    n'est jamais renseignée, c'est idPersonne qui l'est.

    De plus, c'est pas un $_POST mais un $_GET car tu passes par une URL et pas par un formulaire.

    Ce sera donc
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    $_GET["idPersonne"]
    qui remplacera
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    $_POST["idEntrepriseRef"]

    J'espère que ça pourra t'aider

  3. #3
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Juin 2010
    Messages
    86
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2010
    Messages : 86
    Par défaut
    euh je suis perdu donc j'ai compris ce que tu disais mais je vois pas dans quelle page c'est =/


    merci pour ton aide =)

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    99
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 99
    Par défaut
    c'est dans ta page 2 ligne 9

  5. #5
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Juin 2010
    Messages
    86
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2010
    Messages : 86
    Par défaut
    j'ai changé cette ligne
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    $IdEntrepriseRef  = $_POST["IdEntrepriseRef "] ;
    en mettant
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    $IdEntrepriseRef  = $_GET["IdEntrepriseRef "] ;
    mais ça ne change rien ou alors je me suis trompé de ligne !

    ah et idPersonne ce n'est pas pour ma base (c'est du code que j'ai trouvé et j'ai fais un copier/coller =/ je sais c'est pas beau =/ mais comme je le disais dans mon premier post c'est la première fois que je fais une partie admin !)

  6. #6
    Membre éprouvé
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    99
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 99
    Par défaut
    non, tu t'es pas trompé de ligne, mais c'est bien le nom de ta variable qui est incorrecte.

    le seul code qui te permet de changer de page dans ta page 1 est celui-ci :

    Code php/html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <div align=\"left\">".$result->NomEntreprise." ".$result->TexteClient." <a href=\"modification2.php?idPersonne=".$result->LogoEnt." ".$result->IdCategorie."\"><br />modifier</a><p>\n") ;

    et ça c'est du $_GET et pas du $_POST.

    De plus, nul part il y a indiqué une variable "IdEntrepriseRef" dans ce code.
    La seule variable est "idPersonne".

    Si tu veux vraiment utiliser idEntrepriseRef, tu changera le code de ta page 1 :

    Code php/html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <div align=\"left\">".$result->NomEntreprise." ".$result->TexteClient." <a href=\"modification2.php?idEntrepriseRef=".$result->LogoEnt." ".$result->IdCategorie."\"><br />modifier</a><p>\n") ;

    Là j'ai juste changé le nom de ta variable envoyée par URL.

    Par contre, tu laisses bien le type $_GET dans ta page 2.

    J'espère que ça pourra t'aider.

  7. #7
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Juin 2010
    Messages
    86
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2010
    Messages : 86
    Par défaut
    dans ma requête j'ai rajouter mon IdEntrepriseRef, je n'ai plus d'erreur mais plus rien ne s'affiche mise à part mon lien "modifier" qui renvoi sur la page 2 donc le formulaire.

    sur ma page 2 j'ai une erreur
    Parse error: parse error in C:\wamp\www\Nouvelle version 20101\php\modification2.php on line 53
    mais cette ligne correspond à ce que je ne comprend pas c'est que ma page 3 marque des erreurs Undefined index et me supprime tout le contenu de m table ! =/

Discussions similaires

  1. [PDO] Trying to get property of non-object
    Par ledisciple dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 17/03/2012, 12h01
  2. [Joomla!] [Adsmanager] Notice: Trying to get property of non-object in C:\Program Files\EasyPHP
    Par ninobrown dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 5
    Dernier message: 13/04/2009, 21h13
  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