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 :

Element file formulaire qui n'affiche pas les erreurs [ZF 1.11]


Sujet :

Zend_Form PHP

  1. #1
    Rédacteur

    Homme Profil pro
    Technical Lead Salesforce
    Inscrit en
    Février 2009
    Messages
    563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Technical Lead Salesforce

    Informations forums :
    Inscription : Février 2009
    Messages : 563
    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 : 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
     
    $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?
    - Mes articles
    - Consultant technique Salesforce
    - Salesforce Certified Administrator
    - Salesforce Certified Platform App Builder
    - Salesforce Certified Developper I
    - Salesforce Certified Sales Cloud
    - Salesforce Certified Service Cloud

  2. #2
    Rédacteur

    Homme Profil pro
    Technical Lead Salesforce
    Inscrit en
    Février 2009
    Messages
    563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Technical Lead Salesforce

    Informations forums :
    Inscription : Février 2009
    Messages : 563
    Par défaut
    En utilisant ce code dans mon formulaire lorsqu'il n'est pas valide:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : 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
     
    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.
    - Mes articles
    - Consultant technique Salesforce
    - Salesforce Certified Administrator
    - Salesforce Certified Platform App Builder
    - Salesforce Certified Developper I
    - Salesforce Certified Sales Cloud
    - Salesforce Certified Service Cloud

  3. #3
    Rédacteur

    Homme Profil pro
    Technical Lead Salesforce
    Inscrit en
    Février 2009
    Messages
    563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Technical Lead Salesforce

    Informations forums :
    Inscription : Février 2009
    Messages : 563
    Par défaut
    J'ai essayé en mettant mon répertoire public à 777 et ca ne change pas, je ne sais plus quoi faire..
    - Mes articles
    - Consultant technique Salesforce
    - Salesforce Certified Administrator
    - Salesforce Certified Platform App Builder
    - Salesforce Certified Developper I
    - Salesforce Certified Sales Cloud
    - Salesforce Certified Service Cloud

  4. #4
    Rédacteur

    Homme Profil pro
    Technical Lead Salesforce
    Inscrit en
    Février 2009
    Messages
    563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Technical Lead Salesforce

    Informations forums :
    Inscription : Février 2009
    Messages : 563
    Par défaut
    J'ai résolu mon problème!

    Avant quand j'affichais mon formulaire à la façon zend en faisant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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!
    - Mes articles
    - Consultant technique Salesforce
    - Salesforce Certified Administrator
    - Salesforce Certified Platform App Builder
    - Salesforce Certified Developper I
    - Salesforce Certified Sales Cloud
    - Salesforce Certified Service Cloud

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 09/12/2011, 10h23
  2. [1.x] Formulaire mal rempli qui n'affiche pas les erreurs
    Par bahamut100 dans le forum Symfony
    Réponses: 5
    Dernier message: 03/06/2010, 00h21
  3. un Jar qui n'affiche pas les images
    Par elghadi_mohamed dans le forum Langage
    Réponses: 1
    Dernier message: 12/11/2007, 15h12
  4. Listview qui n'affiche pas les enregistrements
    Par arindor dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 03/10/2007, 16h31
  5. [Requete] qui n'affiche pas les doublons mais sur un seul champs
    Par joseph.breham dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 19/12/2006, 14h57

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