2 pièce(s) jointe(s)
un objet vide en programmation orientée objet
Code:
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 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68
| <?php
class Membre
{
//attributs
private $_pseudo;
private $_password;
private $_mail;
//constructeur
public function __construct( array $donnees)
{
$this->hydrateMembre($donnees);
}
//getters (accesseurs)
public function getPseudo()
{
return $this->_pseudo;
}
public function getPassword()
{
return $this->_password;
}
public function getMail()
{
return $this->_mail;
}
//setters
public function setPseudo($login)
{
$this->_pseudo=$login;
}
public function setPassword($mdp)
{
$this->_password=$mdp;
}
public function setMail($Adressemail)
{
//on verifie si c'est vrai une adresse mail
if($this->isMail($Adressemail))
{
$this->_mail=$Adressemail;
}
}
public function isMail($mail)
{
return preg_match("#^[a-z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$#",$mail);
}
}
?> |
Code:
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
class MembreManager
{
//attribut
private $_db;
//constructeur
public function __construct($db)
{
$this->setDb($db);
}
public function getSectionFromDB(Membre $user)
{
$req=$this->_db->prepare('SELECT idSection FROM membre WHERE PseudoMembre=?');
$req->execute(array($user->getPseudo() ) );
$donnee=$req->fetch(PDO::FETCH_ASSOC);
return $donnee['idSection'] ;
}
public function getMembre($id)
{
$req=$this->_db->prepare('SELECT * FROM membre WHERE idSection=?');
$req->execute(array($id ) );
$donnee=$req->fetch(PDO::FETCH_ASSOC);
return new Membre($donnee);
}
}
?> |
le but est de mettre les données de l'utilisateur dans les variables de session
un utilisateur se connecte à partir de son pseudo et son mot de passe.
J'aimerai stocker le pseudo, l'email, la section et la date d'inscription de l'utilisateur dans les sessions
Donc j'ai crée mes deux objets pour la vérification des données envoyé par le formulaire
Code:
1 2 3
| $manager=new MembreManager($db);
$user=new Membre(array('pseudo'=>$login,'password'=>$pass) ); |
//on fait les vérifications ici
Toutes les données de l'utilisateur sont correctes donc je crée un objet qui récupère les données de l'utilisateur dans la base de données
Code:
1 2
| //on récupère les données de l'utilisateur
$utilisateur=$manager->getMembre($id); |
Mais quand j'utilise l'objet $utilisateur
par exemple:
Code:
1 2
| $utilisateur->getPseudo() ;
$utilisateur->getMail(); |
l'objet est vide.
J'ai besoin de votre aide.
cordialement.