rebonjour à tous Après plusieurs jours de recherche et de test, je viens de retravailler mon formulaire en MVC: Voici mon Modele: membre.class.php** [code]<?php class membre {
private $id_membre;
private $nom_membre;
private $prenom_membre;
private $date_naissance;
private $cp_membre;
private $adresse_membre;
private $ville_membre;
private $pays_membre;
private $tel_membre;
private $email_membre;
public function __construct(array $params)
{
foreach($params as $k => $p) { $kTmp = explode('\_', $k); foreach($kTmp as &$k2) { $k2 = ucfirst($k2); } $methodName = 'set' . implode('', $kTmp); if(method\_exists($this, $methodName)) { $this->$methodName($p); } } } public function getId\_membre() { return $this->id\_membre; } public function getNom\_membre() { return $this->nom\_membre; } public function getPrenom\_membre() { return $this->prenom\_membre; } public function getDate\_naissance() { return $this->date\_naissance; } public function getCp\_membre() { return $this->cp\_membre; } public function getAdresse\_membre() { return $this->adresse\_membre; } public function getVille\_membre() { return $this->ville\_membre; } public function getPays\_membre() { return $this->pays\_membre; } public function getTel\_membre() { return $this->tel\_membre; } public function getEmail\_membre() { return $this->email\_membre; } public function setId\_membre($id\_membre) { $this->id\_membre = $id\_membre; } public function setNom\_membre($nom\_membre) { $this->nom\_membre = $nom\_membre; } public function setPrenom\_membre($prenom\_membre) { $this->prenom\_membre = $prenom\_membre; } public function setDate\_naissance($date\_naissance) { $this->date\_naissance = $date\_naissance; } public function setCp\_membre($cp\_membre) { $this->cp\_membre = $cp\_membre; } public function setAdresse\_membre($adresse\_membre) { $this->adresse\_membre = $adresse\_membre; } public function setVille\_membre($ville\_membre) { $this->ville\_membre = $ville\_membre; } public function setPays\_membre($pays\_membre) { $this->pays\_membre = $pays\_membre; } public function setTel\_membre($tel\_membre) { $this->tel\_membre = $tel\_membre; } public function setEmail\_membre($email\_membre) { $this->email\_membre = $email\_membre; } public function getReqParams() { return array('nom\_membre' => $this->getNom\_membre(), 'prenom\_membre' => $this->getPrenom\_membre(), 'date\_naissance' => $this->getDate\_naissance(), 'code\_postal' => $this->getCp\_membre(), 'adresse' => $this->getAdresse\_membre(), 'ville' => $this->getVille\_membre(), 'pays' => $this->getPays\_membre(), 'tel' => $this->getTel\_membre(), 'email' => $this->getEmail\_membre(), ); } } [/code] Voici Mon controller : add.php\*\* [code]<?php require_once 'connect.php';
require_once '../model/membre.class.php';
require_once 'loadingView.php';
class Add {
public static function addMembre($membre)
{
$connexion = Connexion::getInstance();
if(!is_array($membre))
{
$membre = array($membre);
}
$sql = $connexion->query('INSERT INTO ps\_membre(id\_membre,nom\_membre,prenom\_membre,date\_naissance,cp\_membre,adresse\_membre,ville\_membre,pays\_membre,tel\_membre`,email\_membre) VALUE(?,?,?,?,?,?,?,?,?)'); $sql->execute($membre); foreach($membre as $member) { $params = $member->getReqParams(); echo"
mon ";print_r($params);
foreach($params as $k => $v)
{
echo"";echo print_r($k);
$sql->bindParam(':' . $k,$v);
}
}
return $sql;
}
}
$membre = new membre(array(
'nom_membre' => $_POST['nom'],
'prenom_membre' => $_POST['prenom'],
'date_naissance' => $_POST['date_naissance'],
'cp_membre' => $_POST['code_postal'],
'adresse_membre' => $_POST['adresse'],
'ville_membre' => $_POST['ville'],
'pays_membre' => $_POST['pays'],
'tel_membre' => $_POST['tel'],
'email_membre' => $_POST['email'],
));
echo $membre->getNom_membre();
echo $membre->getPrenom_membre();
echo $membre->getEmail_membre();
echo"";print_r($membre);
Add::addMembre($membre);
[/code]
Et ma vue : un simple formulaire**
[code]
<form id="register-form" class="form" action="../controller/addClass.php" method="POST">
<legend>DEPOT D'ANNONCE</legend>
<hr>
<div class="body">
<!-- ENTREPRISE -->
<label for="name">NOM</label>
<input name="nom" class="input-huge" type="text">
<!-- TITRE DE LA MISSION -->
<label for="surname">PRENOM</label>
<input name="prenom" class="input-huge" type="text">
<!-- VILLE DE LA MISSION -->
<label for="surname">DATE NAISSANCE</label>
<input name="date_naissance" class="input-huge" type="text">
<!-- DESCRIPTION DE L'OFFRE -->
<label for="surname">CODE POSTALE</label>
<input name="code_postal" class="input-huge" type="text">
<!-- DESCRIPTION DE L'OFFRE -->
<label for="surname">ADRESSE</label>
<input name="adresse" class="input-huge" type="text">
<!-- DESCRIPTION DE L'OFFRE -->
<label for="surname">VILLE</label>
<input name="ville" class="input-huge" type="text">
<!-- DESCRIPTION DE L'OFFRE -->
<label for="surname">PAYS</label>
<input name="pays" class="input-huge" type="text">
<!-- DESCRIPTION DE L'OFFRE -->
<label for="surname">TELEPHONE</label>
<input name="tel" class="input-huge" type="text">
<label for="surname">EMAIL</label>
<input name="email" class="input-huge" type="text">
</div>
<div class="footer">
<button type="submit" name="submit" class="btn btn-success">Enregistrer</button>
</div>
</form>[/code] Mon problème est le suivant : j'ai une erreur dans mon controller concernant mon execute() [code]$sql->execute($membre);[/code] l'erreur est : Catchable fatal error: Object of class membre could not be converted to string in C:\wamp\www\lorraine\_call\_admin\LorraineCallAdmin\controller\addClass.php on line 36\*\* Je ne sais pas, malgrès plusieur solutions sur le net, comment résoudre mon problème