Orienté ibjet

Houssine@ Messages postés 48 Statut Membre -  
Reivax962 Messages postés 3742 Statut Membre -
bonjour
voila mon code :
 public static function allinfotalent()
  {
    if(is_null(self::$Allinfotalent))
    {
    $pdo = Bdconnexion::Connexion();
    $query = $pdo->prepare("query....");
    $query->execute(array(
    "mail" => $this->maile,
    "password" =>$this->$password
    ));
    self::$Allinfotalent = $query->fetch();
    }
    return self::$Allinfotalent;

}

EDIT : Ajout des balises de code

ce script m'affiche cette erreur :
Using $this when not in object context in C:\Program Files (x86)\EasyPHP-DevServer-14.1VC9\data\localweb\projects\class\talentinformation.class.php on line 58
merci d'avance pour votre aide

3 réponses

  1. Reivax962 Messages postés 3742 Statut Membre 1 011
     
    Bonjour,

    Le problème vient du fait que tu utilises $this, qui se réfère donc à une instance de classe, au sein d'une méthode static, qui est donc hors instance.

    Soit ta méthode ne devrait pas être static, soit elle ne devrait pas nécessité des infos dépendant d'une instance.
    J'aurais plutôt tendance à pencher pour le deuxième cas, vu le nom de ta méthode.

    Xavier
    2
  2. DerkoFR Messages postés 652 Statut Membre 74
     
    Bonjour,

    Déjà faite avec la balise < code>
    Cela va afficher
    public static function allinfotalent() 
     { 
     if(is_null(self::$Allinfotalent)) 
     { 
     $pdo = Bdconnexion::Connexion(); 
     $query = $pdo->prepare("query...."); 
     $query->execute(array( 
     "mail" => $this->maile, 
     "password" =>$this->$password 
     )); 
     self::$Allinfotalent = $query->fetch(); 
     } 
     return self::$Allinfotalent; 
    
     } 


    C'est plus propre non :-)...

    Après vous dites
     on line 58 
    malheureusement je vois pas ou est la ligne 58..

    Donnez tout* votre code, en cachant les identifiants si le cas.

    Bonne journée
    Alexandre.
    Apprenti développeur.
    HTML,CSS, PHP & JAVA (Créateur de SiteWEB)
    0
  3. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830
     
    Bonjour,

    Et .. où se trouve ce code .... dans une CLASS visiblement...
    Peux tu nous montrer le contenu COMPLET du fichier
    C:\Program Files (x86)\EasyPHP-DevServer-14.1VC9\data\localweb\projects\class\talentinformation.class.php

    0
    1. Houssine@ Messages postés 48 Statut Membre
       
      if(is_null(self::$Allinfotalent))
      {
      $pdo = Bdconnexion::Connexion();
      $query = $pdo->prepare("query....");
      $query->execute(array(
      ligne 51 "mail" => $this->maile,
      ligne 52 "password" =>$this->$password
      ));
      self::$Allinfotalent = $query->fetch();
      }
      return self::$Allinfotalent;

      voila mon erreur et la ligne qui contient l'erreur:
      Using $this when not in object context in C:\Program Files (x86)\EasyPHP-DevServer-14.1VC9\data\localweb\projects\class\talentinformation.class.php on line 51
      merci d'avance pour votre aide
      0
      1. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830 > Houssine@ Messages postés 48 Statut Membre
         
        Nan mais ok... on a bien vu l'erreur.... maintenant on voudrait voir le contenu INTÉGRALE du fichier qui génère cette erreur ....
        0
    2. DerkoFR Messages postés 652 Statut Membre 74
       
      "avec les balises < code> < /code> :-)"
      0