Précédent   Forum des professionnels en informatique > PHP > Outils > Zend > Zend Framework > Zend_Form
Zend_Form Forum d'entraide pour le composant Zend_Form du Zend Framework (création de formulaires, helpers, AJAX etc.). Avant de poster -> FAQ Zend_Form.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 09/08/2011, 12h58   #1
Invité de passage
 
Homme
Étudiant
Inscription : 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
Points : 0
Points : 0
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 :
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 :
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

Citation:
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
Type de fichier : png Sélection_003.png (24,5 Ko, 5 affichages)
Mehdi Fal est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/08/2011, 13h24   #2
Modérateur
 
Homme Loïc
Développeur Web
Inscription : février 2011
Messages : 678
Détails du profil
Informations personnelles :
Nom : Homme Loïc
Âge : 26
Localisation : France, Hérault (Languedoc Roussillon)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : février 2011
Messages : 678
Points : 1 041
Points : 1 041
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 :
$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.
5h4rk est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/08/2011, 00h58   #3
Invité de passage
 
Homme
Étudiant
Inscription : 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
Points : 0
Points : 0
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
Mehdi Fal est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/08/2011, 08h06   #4
Modérateur
 
Homme Loïc
Développeur Web
Inscription : février 2011
Messages : 678
Détails du profil
Informations personnelles :
Nom : Homme Loïc
Âge : 26
Localisation : France, Hérault (Languedoc Roussillon)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : février 2011
Messages : 678
Points : 1 041
Points : 1 041
Avant de se lancer dans le développement il faut lire la documentation et faire des tutoriels pour savoir comment fonctionne zend
Code :
$form->getElement('submit');
5h4rk est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/08/2011, 16h25   #5
Invité de passage
 
Homme
Étudiant
Inscription : 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
Points : 0
Points : 0
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
Mehdi Fal est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 08h12.


 
 
 
 
Partenaires

Hébergement Web