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

<?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(),
                    );
    }


}



Voici Mon controller : add.php

<?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"<pre> mon ";print_r($params);
                    
                    
		foreach($params as $k => $v)
		{
                    echo"<pre>";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"<pre>";print_r($membre);
        
        Add::addMembre($membre);
        
        


[t ma vue : un simple formulaire

 <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>



Mon problème est le suivant :

j'ai une erreur dans mon controller concernant mon execute()

$sql->execute($membre);


l'erreur est :

Smiley list 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[/list]


Je ne sais pas, malgrès plusieur solutions sur le net, comment résoudre mon problème
Modifié par Palerm0_57 (12 Jun 2014 - 14:12)