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

Zend_Form PHP Discussion :

Formulaire Simple Problème


Sujet :

Zend_Form PHP

  1. #1
    Membre à l'essai
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Mars 2011
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2011
    Messages : 23
    Points : 13
    Points
    13
    Par défaut Formulaire Simple Problème
    Bonjour,

    Je suis un nouvel utilisateur de Zend et donc un peu nul.

    Je souhaite faire un formulaire de membre et les fonctions CRUD élémentaires.

    Tout d'abord les Membres sont dans une liste à sélection unique trier par ordre de nom et le premier membre est sélectionné par défaut (je n'arrive pas à faire ça)

    Ce que j'ai réussi à faire, ma liste contenant les membres, le bouton add qui ajoute un membre.

    Ce que je n'arrive pas à faire :

    - Soumettre l'id du membre sélectionné dans la liste à l'action edit ou supprimer

    Voici mon controller
    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
    81
    82
    83
    84
    85
    86
    <?php
     
    class BiblioController extends Zend_Controller_Action
    {
     
        public function init()
        {
     
        }
     
        public function indexAction()
        {
            $form = new Application_Form_Index();
            $this->view->form = $form;
            // action body
        }
     
        public function addAction()
        {
            $form = new Application_Form_Membre();
            $form->submit->setLabel('Add');
            // action body
            if ($this->getRequest()->isPost()) {
                $formData = $this->getRequest()->getPost();
                if ($form->isValid($formData)) {
                    $nom = $form->getValue('nom');
                    $prenom = $form->getValue('prenom');
                    $adresse = $form->getValue('adresse');
                    $localite = $form->getValue('localite');
                    $npa = $form->getValue('npa');
                    $membre = new Application_Model_DbTable_Membre();
                    $membre->addMembre($nom, $prenom, $adresse, $npa, $localite);
                    $this->_helper->redirector('index');
                } else {
                    $form->populate($formData);
                }
            }
            $this->view->form = $form;
        }
     
        public function editAction()
        {
            $form = new Application_Form_Membre();
            $form->submit->setLabel('Save');
            $this->view->form = $form;
            if ($this->getRequest()->isPost()) {
                $formData = $this->getRequest()->getPost();
                if ($form->isValid($formData)) {
                    $id = (int)$form->getValue('id');
                    $nom = $form->getValue('nom');
                    $prenom = $form->getValue('prenom');
                    $adresse = $form->getValue('adresse');
                    $localite = $form->getValue('localite');
                    $npa = $form->getValue('npa');
                    $membre = new Application_Model_DbTable_Membre();
                    $membre->updateMembre($id, $nom, $prenom, $adresse, $npa, $localite);
                    $this->_helper->redirector('index');
                } else {
                    $form->populate($formData);
                }
            } else {
                $id = $this->_getParam('id', 0);
                if ($id > 0) {
                    $membre = new Application_Model_DbTable_Membre();
                    $form->populate($membre->getMembre($id));
                }
            }
        }
     
        public function deleteAction()
        {
            if ($this->getRequest()->isPost()) {
                $del = $this->getRequest()->getPost('del');
                if ($del == 'Yes') {
                    $id = $this->getRequest()->getPost('id');
                    $membre = new Application_Model_DbTable_Membre();
                    $membre->deleteMembre($id);
                }
                $this->_helper->redirector('index');
            } else {
                $id = $this->_getParam('id', 0);
                $membre = new Application_Model_DbTable_Membre();
                $this->view->membre = $membre->getMembre($id);
            }
        }
    }
    L'erreur se trouve dans l'action edit et supprimer dont je ne trouve pas la solution

    Mon form
    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
    <?php
     
    class Application_Form_Index extends Zend_Form
    {
     
        public function init()
        {
            /* Form Elements & Other Definitions Here ... */
            $membre = new Application_Model_DbTable_Membre();
            $listeMembre = $membre->fetchAll(null,'Nom');
            $array_membre = array();
            foreach ($listeMembre as $membre) :
            $nomPrenom = $membre->Nom.' '.$membre->Prenom;
            $array_membre[$membre->NoMembre] = $nomPrenom;
            endforeach;
            $selectMembre = new Zend_Form_Element_Select('listeMembre');
            $selectMembre->setLabel('Liste des membres')
                         ->setAttrib('size',25)
                         ->setMultiOptions($array_membre);
     
            $this->addElement($selectMembre);
     
            $add = new Zend_Form_Element_Button('add');
            $add->setLabel('Nouveau')
                ->setAttrib('onclick','window.location =\''.$this->getView()->url(array('controller'=>'biblio','action'=>'add')).'\' ');
     
            $modify = new Zend_Form_Element_Submit('modify');
            $modify->setLabel('Modifier')
                   ->setAttrib('onclick','window.location =\''.$this->getView()->url(array('controller'=>'biblio','action'=>'edit')).'\' ');
     
            $delete = new Zend_Form_Element_Submit('delete');
            $delete->setLabel('Supprimer')
                   ->setAttrib('onclick','window.location =\''.$this->getView()->url(array('controller'=>'biblio','action'=>'delete')).'\' ');
     
            $this->addElements(array($add,$modify,$delete));
     
        }
    }
    C'est dans cette partie là que je ne sais pas comment soumettre l'id du membre sélectionné à voir...


    Je pense que la solution est simple mais je n'arrive pas à la trouver. Merci à la personne qui me trouvera la réponse


    EDIT ::: Au fait ce que je n'arrive pas à faire est de faire soumettre l'id du membre sélectionné dans la fenêtre principale à l'action edit ?

  2. #2
    Membre à l'essai
    Inscrit en
    Novembre 2005
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 8
    Points : 12
    Points
    12
    Par défaut
    Ton onClick sur ton bouton Submit ne doit pas poster le formulaire il fait simplement une redirection.
    Vois du coté de l'action de ton formulaire afin de poster ton formulaire vers l'action Edit ou Delete

Discussions similaires

  1. Formulaire - Etat Problème d'enchaînement
    Par benejepo dans le forum IHM
    Réponses: 1
    Dernier message: 26/02/2007, 17h51
  2. Réponses: 2
    Dernier message: 18/01/2007, 21h38
  3. [XML::Simple] Problème d'accès au module Parseur
    Par Melvine dans le forum Modules
    Réponses: 6
    Dernier message: 09/10/2006, 10h40
  4. formulaire flash problème
    Par WEBANNONCE dans le forum Flash
    Réponses: 6
    Dernier message: 13/09/2006, 16h46
  5. Réponses: 6
    Dernier message: 10/07/2006, 14h46

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