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

MVC PHP Discussion :

Problème structurel avec 2 vues pour 1 action


Sujet :

MVC PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 70
    Par défaut Problème structurel avec 2 vues pour 1 action
    Bonjour,

    Je souhaite effacer un Admin.
    J'affiche déjà une liste des admins (dans un select).
    Puis demande confirmation (avec un autre formulaire)

    Il y a donc 2 vues.

    Voici mon code :
    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
    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
     
    //l'action qui va gérer ce que j'ai expliqué
    public function removeAction()
        {
            $this->view->title = "Delete Admin";
            $this->view->headTitle($this->view->title, 'PREPEND');
     
            //si quelque chose est envoyée
            if ($this->getRequest()->isPost()) {
                $submit = $this->getRequest()->getPost('submit');
                $delete = $this->getRequest()->getPost('delete');
     
                //si l'action reçoi des donnée du select (la liste des admins)
                if ($submit == 'submit') {
                    //on stoque l'id et le login
                    $this->view->id = $this->getRequest()->getPost('it_id');
                    $this->view->login = $this->getRequest()->getPost('it_login');
                    //on appelle une méthode qui affiche du code et un formulaire de confirmation
                    $form = $this->adminremoveconfirm();
                    $this->view->form = $form;
     
                   //si on reçoit un 'yes' alors on vient de confirmer la suppression
                } elseif ($delete == 'Yes') {
                    $id = $this->getRequest()->getPost('id');
                    $table = new Model_DbTable_ItStaff();
                    $table->removeStaff($id);
                } else {
                    $this->_redirect('admin');
                }
     
             //si rien n'ai reçu alors on affiche le select avec les noms des admins
            } else {
                $form = $this->adminForm();
                $this->view->form = $form;
                $table = new Model_DbTable_ItStaff();
                $form->populate($table->fetchAll()->toArray());
            }
        }
     
     
    //le formulaire qui sera affiché en 1er avec la liste des admin
        public function adminForm()
        {
            $form = new Zend_Form($options = null);
            $form->setName('selectAdmin');
     
            $listAdmin = new Zend_Form_Element_Select('it_login');
            $listAdmin->setLabel("Admins'Name");
            $listAdmin->addMultiOption(NULL, 'Choose');
            $table_admin = new Model_DbTable_ItStaff();
            foreach ($table_admin->fetchAll() as $row) {
                $listAdmin->addMultiOption($row->it_id, $row->it_login);
            }
     
            $submit = new Zend_Form_Element_Submit('submit');
            $submit->setAttrib('idsubmit', 'submitbutton');
            $submit->setValue('submit');
     
            return $form->addElements(array($listAdmin, $submit));
        }
     
     
    //cette fonction affiche un message d'avertissement et un formulaire de confirmation
        public function adminremoveconfirm()
        {
            $html = <<<HTMLDOC
                <p> Are you sure to delete this administrator :
                    <?php echo $this->login; ?>
                </p>
                <form action="<?php echo $this->url(array('action'=>'remove')); ?>" method="post">
                <div>
                    <input type="hidden" name="id" value="<?php echo $this->id; ?>" />
                    <input type="submit" name="delete" value="Yes" />
                    <input type="submit" name="delete" value="No" />
                </div>
                </form>
                <?php
    HTMLDOC;
            return $html;
        }


    Le problème c'est que les données ne vont pas au 2eme formulaire
    En fait si mais des choses étranges,
    un var_dump sur $this->getRequest()->getPost();
    me donne : 15 [submit] => submit , le 15 étant l'id de mon admin, mais je n'arrive pas à le prendre...

    Alors j'aimerais savoir cette structure est logique, ou si je dois utiliser une autre action pour séparer les 2 formulaires?

    Dans ce cas, comment passer les paramètres (si possible en post) d'une action à l'autre

  2. #2
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 506
    Par défaut
    Bonjour,
    Regarde du côté de

Discussions similaires

  1. Problème sérieux avec Ant Apache pour servlet
    Par mixany dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 30/05/2011, 14h02
  2. Réponses: 4
    Dernier message: 14/01/2010, 16h27
  3. Même vue pour plusieurs actions
    Par loudo dans le forum MVC
    Réponses: 2
    Dernier message: 08/09/2008, 17h23
  4. [tomcat] [jsp] Problème avec driver OCI pour oracle
    Par nanardcompanie dans le forum Tomcat et TomEE
    Réponses: 3
    Dernier message: 01/07/2004, 09h54
  5. Problèmes avec des vues
    Par dady dans le forum MFC
    Réponses: 22
    Dernier message: 09/01/2004, 16h26

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