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 24/11/2011, 16h24   #1
Nouveau Membre du Club
 
Inscription : février 2009
Messages : 261
Détails du profil
Informations forums :
Inscription : février 2009
Messages : 261
Points : 30
Points : 30
Par défaut Element file formulaire qui n'affiche pas les erreurs

Bonjour, j'ai un formulaire où je possède un champs file pour uploader des images mais celui-ci n'a pas l'air de fonctionner correctement.

En effet, dans mon contrôleur lors de la vérification du formulaire, je fais un Zend_Debug::dump() avec soit "Erreur", soit "Validation" suivant le cas qu'il s'agit et j'obtiens tout le temps "Erreur" mais je n'ai pas de message d'erreur donc je ne comprends pas pourquoi vu que j'en obtiens pour mes autres champs texts mais pas celui-ci.

Voici mon élément file:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 
$photo = new Zend_Form_Element_File('photo');
$photo// obligatoire
	  ->setRequired(true)
	  // destination du fichier
	  ->setDestination('C:\xampp\htdocs\concoursPhoto\public\images\photos')
	  // limite a 2Mo
	  ->addValidator('Size', false, 2097152)
	  // extension JPEG, PNG, GIF
	  ->addValidator('Extension', false, 'jpg,png,gif')
	  // un seul fichier
	  ->addValidator('Count', false, 1)
	  // enleve code HTML
	  ->addFilter('StripTags')
	  // supprimer les espaces
	  ->addFilter('StringTrim');
Je lui envoie bien des images avec une extension soit jpg, png ou gif et inférieur à 2Mo..

Pourtant, cet élément fonctionne correctement dans un autre projet mais qui est en ligne alors que celui-ci ne l'est pas, peut-être est-ça la cause?
absot est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/11/2011, 16h36   #2
Nouveau Membre du Club
 
Inscription : février 2009
Messages : 261
Détails du profil
Informations forums :
Inscription : février 2009
Messages : 261
Points : 30
Points : 30
En utilisant ce code dans mon formulaire lorsqu'il n'est pas valide:
Code :
1
2
3
4
5
6
 
if (!$form->photo->receive()) 
{
	Zend_Debug::dump("Erreur de réception de fichier");
}
Zend_Debug::dump($form->photo->getFileName());
J'ai l'erreur de réception (qui n'est pas faux comme il n'y a rien dans mon répertoire) et pour le chemin du répertoire, il n'y a rien, je vais donc essayer en mettant mon projet sur un FTP pour voir si ça change quelque chose..

Edit: Apparemment, ca n'a vient pas du fait que ce soit en local parce que je viens de le mettre sur un FTP et ça ne change rien..

Voilà ce que je fais dans mon contrôleur:
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
 
if ($form->isValid($formData))
{
	/** Photo **/
	// Pour pouvoir DL la photo
	$photoDL = $form->getValue('photo');
        *** Traitement ***
}else 
{
	$form->populate($formData);
	Zend_Debug::dump('Erreur');
	if (!$form->photo->receive()) 
	{
		Zend_Debug::dump("Erreur de réception de fichier");
	}
	Zend_Debug::dump($form->photo->getFileName());
	if(!$form->photo->isUploaded())
	{
		Zend_Debug::dump("Pas DL");
	}
	if(!$form->photo->isReceived())
	{
		Zend_Debug::dump("pas recu");
	}
	if(!$form->photo->isFiltered())
	{
		Zend_Debug::dump("pas filtre");
	}
}
Tout mes messages d'erreurs s'affichent..


Le nom de l'image que j'utilise s'appelle 9.jpg et pèse 33ko.
absot est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/11/2011, 09h31   #3
Nouveau Membre du Club
 
Inscription : février 2009
Messages : 261
Détails du profil
Informations forums :
Inscription : février 2009
Messages : 261
Points : 30
Points : 30
J'ai essayé en mettant mon répertoire public à 777 et ca ne change pas, je ne sais plus quoi faire..
absot est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/11/2011, 10h52   #4
Nouveau Membre du Club
 
Inscription : février 2009
Messages : 261
Détails du profil
Informations forums :
Inscription : février 2009
Messages : 261
Points : 30
Points : 30
J'ai résolu mon problème!

Avant quand j'affichais mon formulaire à la façon zend en faisant:
Code :
1
2
 
<?php echo $this->form; ?>
Zend faisait tout tout seul mais comme j'ai voulu l'afficher comme je le voulais, je n'avais pas mis dans l'affichage le enctype="multipart/form-data", ce qui faisait, que ca ne passait pas..

Comment perdre 3 heures!
absot est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 17h45.


 
 
 
 
Partenaires

Hébergement Web