Formulaire récupération que de la derniére valeur
Bonjour,
J'ai un soucis, je ne vois pas d'où peut venir le problème aprés moulte recherche.
A la construction de l'objet $commentaires, je n'ai que le dernier champ qui s'instancie en l'occurence 'id_billet'. Si j'enléve 'id_billet', il n'y as que 'contenu' qui s'instencie. Bref, toujours que le derniers champs.
Si quelqu'un peut m'aider?
Merci d'avance.
le var_dump:
Citation:
object(App\Objet\Commentaires)#5 (7) { ["erreur":"App\Objet\Commentaires":private]=> array(0) { } ["id":"App\Objet\Commentaires":private]=> NULL ["pseudo":"App\Objet\Commentaires":private]=> NULL ["mail":"App\Objet\Commentaires":private]=> NULL ["contenu":"App\Objet\Commentaires":private]=> NULL ["id_billet":"App\Objet\Commentaires":private]=> int(29) ["dateAjout":"App\Objet\Commentaires":private]=> NULL }
controller
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
|
$db = Connect::getPDO();
$manager = new PublicManager($db);
$commentaires = new Commentaires(
[
'pseudo' => $_POST['pseudo'],
'mail' => $_POST['mail'],
'contenu' => $_POST['contenu'],
'id_billet' => (int)$_POST['id_billet']
]
); var_dump($commentaires);
if(isset($_POST['id']))
{
$commentaires->setId($_POST['id']);
} ;
if($commentaires->isValid())
{
$manager->save($commentaires);
$message = $commentaires->isNew() ? 'Le billet a bien été ajoutée !' : 'Le billet a bien été modifié !';
}
} |
Classe
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 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123
|
class Commentaires
{
private $erreur = [];
private $id;
private $pseudo;
private $mail;
private $contenu;
private $id_billet;
private $dateAjout;
const ID_BILLET_INVALIDE = 1;
const PSEUDO_INVALIDE = 2;
const CONTENU_INVALIDE = 3;
const MAIL_INVALIDE = 4;
public function __construct($valeurs=[])
{
if(!empty($valeurs))
{
$this->hydrate($valeurs);
}
}
public function hydrate($donnees)
{
foreach ($donnees as $attribut => $valeur);
{
$methode = 'set'.ucfirst($attribut);
if (is_callable([$this, $methode]))
{
$this->$methode($valeur);
}
}
}
public function isNew()
{
return empty($this->id);
}
public function isValid()
{
return !(empty($this->id_billet) || empty($this->pseudo) || empty($this->contenu) || empty($this->mail));
}
//setters
public function setId($id)
{
$this->id = (int) $id;
}
public function setId_billet($id_billet)
{
if (!is_int($id_billet) || empty($id_billet))
{
$this->erreurs[] = self::ID_BILLET_INVALIDE;
}
else
{
$this->id_billet = (int) $id_billet;
}
}
public function setPseudo($pseudo)
{
if (!is_string($pseudo) || empty($pseudo))
{
$this->erreurs[] = self::PSEUDO_INVALIDE;
}
else
{
$this->pseudo = $pseudo;
}
}
public function setContenu($contenu)
{
if (!is_string($contenu) || empty($contenu))
{
$this->erreur[] = self::CONTENU_INVALIDE;
}
else
{
$this->contenu = $contenu;
}
}
public function setMail($mail)
{
if (!is_string($mail) || empty($mail))
{
$this->erreurs[] = self::MAIL_INVALIDE;
}
else
{
$this->mail = $mail;
}
}
public function setDateAjout(DateTime $dateAjout)
{
$this->dateAjout = $dateAjout;
}
//getters
public function erreurs()
{
return $this->erreurs;
}
public function id()
{
return $this->id;
}
public function id_billet()
{
return $this->id_billet;
}
public function pseudo()
{
return $this->pseudo;
}
public function contenu()
{
return $this->contenu;
}
public function dateAjout()
{
return $this->dateAjout;
}
}
?> |