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 :

Warning: Missing argument 1 for Zend_View_Helper_Form::form()


Sujet :

Zend_Form PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2011
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2011
    Messages : 10
    Par défaut Warning: Missing argument 1 for Zend_View_Helper_Form::form()
    Salut

    Je suis le cours de ZendFramework présenté sur le site j'ai mis une capture d'écran en pièce jointe et voilà mon code :

    IndexController.php :
    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
     
    <?php
    		public function modifierAction()
    		{
    			$this->view->title = "Modifier un album";
            		$form = new FormulaireAlbum();
    			$form->submit->setLabel('Enregistrer');
    			$this->view->form = $form;
     
    			if ($this->_request->isPost()) 
    			{
    			    	$formData = $this->_request->getPost() ;
    			    	if ($form->isValid($formData)) 
    			    	{
    					$albums = new Albums();
    					$id = (int)$form->getValue('id');
    					$row = $albums->fetchRow('id='.$id);
    					$row->artist = $form->getValue('artist');
    					$row->title = $form->getValue('title');
    					$row->save();
     
    					$this->_redirect('/');
    			    	} 
    			    	else 
    			    	{
    					$form->populate($formData);
    			    	}
    			}
    			else 
    			{
    				$id = (int)$this->_request->getParam('id', 0);
    				if ($id > 0) 
    				{
    					$albums = new Albums();
    					$album = $albums->fetchRow('id='.$id);
    					$form->populate($album->toArray());
    				}
    			}
    		}
    FormulaireAlbum.php :
    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
     
    <?php 
    	class FormulaireAlbum extends Zend_Form
    	{
    		public function __construct($options = null)
    		{
    			parent::__construct($options);
    			$this->setName('album');
     
    			$id = new Zend_Form_Element_Hidden('id');
     
    			$artist = new Zend_Form_Element_Text('artist');
    			$artist->setLabel('Artist')
    			->setRequired(true)
    			->addFilter('StripTags')
    			->addFilter('StringTrim')
    			->addValidator('NotEmpty');
     
    			$title = new Zend_Form_Element_Text('title');
    			$title->setLabel('Title')
    			->setRequired(true)
    			->addFilter('StripTags')
    			->addFilter('StringTrim')
    			->addValidator('NotEmpty');
     
    			$submit = new Zend_Form_Element_Submit('submit');
    			$submit->setAttrib('id', 'submitbutton');
     
    			$this->addElements(array($id, $artist, $title, $submit));
    		}
    	}
    Pour l'action Ajouter ca marche mais quand j'essaye de modifier via "Edit" j'ai ces deux Grosses erreurs en GRAS

    Warning: Missing argument 1 for Zend_View_Helper_Form::form() in /opt/lampp/htdocs/zf-tutorial/library/Zend/View/Helper/Form.php on line 44

    Notice: Undefined variable: name in /opt/lampp/htdocs/zf-tutorial/library/Zend/View/Helper/Form.php on line 46
    quelqu'un pourrait-il me sauver la vie

    Merci d'avance
    Images attachées Images attachées  

  2. #2
    Membre Expert
    Avatar de 5h4rk
    Homme Profil pro
    CTO at TabMo
    Inscrit en
    Février 2011
    Messages
    813
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : CTO at TabMo
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2011
    Messages : 813
    Par défaut
    Cela signifie que tu as un élément de ton formulaire qui n'a pas de nom.

    Je pencherai sur un problème à ce niveau :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $form->submit->setLabel('Enregistrer');
    Il me semble que pour modifier le label il te faut d'abord récupérer l'élément et ensuite le modifier.

  3. #3
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2011
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2011
    Messages : 10
    Par défaut
    stp pourrais-tu me dire ce que tu veux dire par "récupérer d'abord l'élément puis le modifier" ?
    excuse-moi je suis encore débutant

  4. #4
    Membre Expert
    Avatar de 5h4rk
    Homme Profil pro
    CTO at TabMo
    Inscrit en
    Février 2011
    Messages
    813
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : CTO at TabMo
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2011
    Messages : 813
    Par défaut
    Avant de se lancer dans le développement il faut lire la documentation et faire des tutoriels pour savoir comment fonctionne zend
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $form->getElement('submit');

  5. #5
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2011
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2011
    Messages : 10
    Par défaut
    C'est exactement ce que je suis en train de faire je découvre zend
    et c'est dans le cours que je suis que j'ai bugé

    mais merci pour tout

Discussions similaires

  1. PROBLEEM Warning: Invalid argument supplied for foreach()
    Par kapitcho dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 30/06/2012, 00h20
  2. Warning: Invalid argument supplied for foreach() in
    Par Jinkas dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 19/09/2011, 18h24
  3. [MySQL] Problème de Foreach : Warning: Invalid argument supplied for foreach()
    Par bidoo1234 dans le forum PHP & Base de données
    Réponses: 12
    Dernier message: 06/05/2010, 17h56
  4. Warning: Invalid argument supplied for foreach()
    Par billyrose dans le forum Langage
    Réponses: 1
    Dernier message: 27/02/2009, 15h36
  5. Réponses: 11
    Dernier message: 19/05/2006, 11h41

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