8768 sujets

Développement web côté serveur, CMS

Bonjour,

Je suis devant un cas "étrange"...

J'ai un formulaire qui fonctionne très bien. Par contre je voudrais l'améliorer.

Ce formulaire comporte des champs input texte et des champs input file (7)
Ce que je voulais faire c'est que :
- si certains champs texte obligatoires sont vides, ne pas s'attaquer au traitement des images afin d'éviter le message d'erreur "Ce champ est vide" après avoir attendu 1min 30 que les images soient traitées.

donc ma structure est la suivante (volontairement allégée):


$erreurs = array();
if (isset($_POST['isSubmitted']))
{

// verification du champ obligatoire

      if (strlen($titre2) == 0) 
			{
			$erreurs[] = '<div>Attention, vous devez remplir le champ "Votre nom"</div>';
			}

	     if(!empty($erreurs)) 
			{ 
                         fait ça 
                         ne tient pas compte du champ $_FILES['image0']
                        }

            else  if(empty($erreurs)) 
			{ 
                              if(!empty($_FILES['image0']))
						{ 	
                                                traite mon image
						} 
                        }
}


Malgré cela le formulaire traite quand même mon image...

Je ne vois pas pourquoi.

Merci à tous ceux qui pourront m'éclairer.
Modifié par pareto (29 Sep 2014 - 17:48)
Si je ne me plante pas quand tu valides ton formulaire il envoie d'abord toutes les données au serveur avant de les traiter.

Si tu veux que ça ne traite pas ton image avant la validation des autres champs il faut le faire côté client avec du javascript par exemple pour tester tes valeurs.