|
Bonjour à tous :)
Comme par hasard, ce qui m'amene ici est un problème ;-)
Lorsque j'instancie un objet d'une classe, php ne met rien dedans, ce qui est assez génant en Orienté Objet....
Voici mon code:
<span style="color: #0000BB"><?php
class DBUtilisateur
{
    public static function connexionUtilisateur($login, $mdp)
    {
          $requete="select * from utilisateur where login = '$login' and mdp = '$mdp';";
          $donnees = mysql_query($requete, Data::getConnexion())or die (MyController::afficherPageErreur(mysql_error()));
   Â
          if($donnees)
          {
              if(mysql_num_rows($donnees) == 1)
              {
                    $row = mysql_fetch_assoc($donnees);
                    $id = $row["uid"];
                    $log = $row["login"];
                    $pass= $row["mdp"];
                    $loca = $row["localisation"];
                    $util = new Utilisateur($id,$log,$pass,$loca);
                    $_SESSION["uid"] = $id;
                    return $util;
              }
              else
              {
                    return null;
              }
          }
          else
          {
              echo 'rien de récupéré';
              return null;
          }
    }
}
?>
</span></span>
et la classe utilisateur:
<span style="color: #0000BB"><span style="color: #0000BB"><?php
class Utilisateur
{
    private  $uid, $login, $mdp, $localisation;
    public function _construct($uid, $login, $mdp, $localisation)
    {
          $this->uid= $uid;
          $this->login = $login;
          $this->mdp = $mdp;
          $this->localisation = $localisation;
    }
   Â
    public function getuid()
    {
          return $this->uid;
    }
   Â
    public function getLogin()
    {
          return $this->login;
    }
   Â
    public function getMotDePasse()
    {
          return $this->mdp;
    }
   Â
    public function getLocalisation()
    {
          return $this->localisation;
    }
   Â
    public function toString()
    {
          $phrase = "Login : ".$this->login." et mdp ".$this->mdp." localisation: ".$this->localistation;
          return $phrase;
    }
}
?>
</span></span>
Le tout est appelé par un controller orienté données ( j'essaye de suivre le design pattern MVC): Voici la fonction appelante en question:
<span style="color: #000000">
public static function connexionUtilisateur()
{
    if(isset($_POST['login']))
    {
          $login    = strval($_POST['login']);
    }
    if(isset($_POST['mdp']))
    {
          $mdp      = strval($_POST['mdp']);
    }
    $util = DBUtilisateur::connexionUtilisateur($login, $mdp);
         Â
    if(!$utill)
    {
          MyController::afficherPageErreur("Mauvais login et ou mot de passe");         Â
    }
    else
    {
          MyController::afficherAccueil();
    }
}
J'ai bien testé la requete sql, elle renvoie bien les données. C'est vraiment au niveau de l'instanciation de l'objet $util que j'ai du rater quelque chose (c'est d'ailleur surement tres con comme erreur ^^)
Je suis obligé de "tricher", quand je fais des $util->getXXXX(), la variable obtenue est égale à null :/
Merci d'avance |