IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

MVC - Traitement du formulaire


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Profil pro
    IT Développeur
    Inscrit en
    Mars 2009
    Messages
    274
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : IT Développeur

    Informations forums :
    Inscription : Mars 2009
    Messages : 274
    Points : 96
    Points
    96
    Par défaut MVC - Traitement du formulaire
    Bonjour,

    J’ai suivi un tuto sur la POO en PHP en MVC.
    Je bloque pour le traitement du formulaire, cela devrait être en principe le Controller qui devrait s’en charger mais j’ai du mal à voir comment. Voici comment se présente mon code :
    J’ai un Routeur qui appel le controleur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    ...
    elseif(isset($_GET['contact']) || isset($_GET['Reserver'])){
                       require_once(('Controllers'.'/'. 'ControllerContact.php');
                        $this->_ctrl = new ControllerContact();
                    }
    ...
    Le controleur se présente comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
     
    <?php
    class ControllerContact{
        private $_genderManager;
        private $_view;
     
        public function __construct(){
            $this->showGender();
        }
     
        private function showGender(){
            $this->_genderManager = new GenderManager;
            $genders = $this->_genderManager->getGender();
     
            $this->_view = new View('Contact');
            $this->_view->generate(array('genders' => $genders));
        }
     
        public function Traitement()    {
            echo 'Test traitement ok';
        }
    }
    J'ai essayé plusieurs façon pour appeler la méthode Traitement mais sans succès:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    ...
    action="Controllers/ControllerContact.php/Traitement";
    ...
    action="Controllers/ControllerContact.php/Traitement()";
    ...
    Si quelqu'un peu m'éclairer, cela m'aiderait.

    Merci

  2. #2
    Expert confirmé Avatar de Toufik83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2012
    Messages
    2 412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 2 412
    Points : 4 854
    Points
    4 854
    Par défaut
    Bonjour,

    Déjà dans le constructeur du controlleur Contact :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    public function __construct(){
         $this->showGender();
    }
    Ceci dit qu'à chaque fois que tu fais appel au contrôleur il exécute la méthode showGender().

    Concernant l'url du formulaire, je pense que l'attribut action est faux, car en MVC on fait appel à Contrôleur/Action(Méthode du contrôleur) pour arriver à une vue, c'est à dire que si tu veux utiliser la méthode Traitement() du contrôleur Contact, tu devrais attribuer l'action comme suite : action="/Contact/Traitement" Puis générer la vue à l'intérieur de la méthode Traitement comme tu l'as fait dans showGender :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    public function Traitement()    {
         $this->_view = new View('Contact');
         $this->_view->generate(array('message' =>'Test traitement ok'));
    }

  3. #3
    Membre régulier
    Profil pro
    IT Développeur
    Inscrit en
    Mars 2009
    Messages
    274
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : IT Développeur

    Informations forums :
    Inscription : Mars 2009
    Messages : 274
    Points : 96
    Points
    96
    Par défaut
    Bonjour,

    J'ai finalement trouvé une solution à mon problème.

    Merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MySQL] Traitement de Formulaire : générer des ensemble à partir d'une boucle foreach
    Par yodaazen dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 05/10/2006, 15h28
  2. Traitement de formulaire et fileUpload
    Par n@n¤u dans le forum Servlets/JSP
    Réponses: 6
    Dernier message: 04/08/2006, 10h15
  3. [SERVLET]Traitement de formulaire paramètres GET et POST
    Par ederf dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 19/05/2006, 13h56
  4. [SGBD] Traitement Données Formulaire Vers BDD Mysql
    Par Thierry8 dans le forum SQL Procédural
    Réponses: 10
    Dernier message: 29/03/2006, 23h22
  5. [C#][2.0] Traitement de Formulaire (Insert / Update)
    Par softflower dans le forum ASP.NET
    Réponses: 7
    Dernier message: 17/02/2006, 13h44

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo