Envoyer uniquement champs formulaire remplis

Résolu/Fermé
Choumi - 19 juil. 2013 à 09:48
 Choumi - 22 juil. 2013 à 20:19
Bonjour,
Mon problème est le suivant :
J'ai créé un formulaire PHP qui contient un grand nombre de champs.
Je souhaite que, lorsque l'on clique sur le bouton d'envoi, ne soient envoyé que les champs qui ont été remplis.
Je précise qu'au début de mon formulaire certains champs sont obligatoires (script java).
J'ai beau chercher sur le net depuis un bon moment je n'arrive à trouver que du code pour obliger à remplir certains champs comme je l'ai fait.
Maintenant c'est l'inverse que je souhaite !!
(Je sais, je me répète un peu, mais c'est pour tenter de bien faire comprendre ce que je veux faire).
Merci d'avance à ceux qui pourrait m'aider !!



1 réponse

ThEBiShOp Messages postés 8318 Date d'inscription jeudi 22 mars 2007 Statut Contributeur Dernière intervention 8 février 2021 1 597
19 juil. 2013 à 09:51
Salut,

je comprends pas trop le problème, si tu envoies des champs qui sont vides, ce n'est pas très grave, il te suffit de les ignorer côté PHP.

Tu peux aussi supprimer les champs vides avant l'envoi du formulaire en javascript, mais c'est se compliquer la vie pour rien à mon avis.
0
Bonjour ThEBiShOp et merci de te pencher sur mon problème.
Apparemment je me suis mal exprimé.
En fait mon formulaire contient de nombreux champs texte (une quarantaine pour le moment !), la personne qui le remplis n'est pas dans l'obligation de tous les remplir exceptés ceux qui se trouvent en premier et qui concernent les coordonnées.
Le problème est donc que, lorsque je reçois ce formulaire, je reçois tous les noms des champs ce qui ne facilite pas la lecture de ce résultat.
Je souhaite donc ne recevoir que les champs qui ont étés remplis par le visiteur du site, ou que mon formulaire n'envoie que ceux-ci, ce qui, pour le résultat visuel, revient au même.
J'espère avoir été plus clair cette fois-ci.
Merci d'avance à ceux qui pourront me donner un petit coup de main compte tenu que je débute en PHP et que, malgré mes très nombreuses lacunes, j'ai réussi, jusqu'à présent à créé entièrement seul un script assez complexe.
0
Hello !
Can you help me please ?
Thanks
0
JooS Messages postés 2465 Date d'inscription mardi 22 janvier 2008 Statut Membre Dernière intervention 8 juin 2016 228
Modifié par JooS le 20/07/2013 à 19:44
Salut,

Je suis d'accord avec la réponse donnée plus haut !

Lorsque tu reçois ton formulaire, il te suffit de vérifier si les champs sont remplis ou pas ...
foreach($_POST AS $cle=>$valeur) {
    if(!empty($valeur))  {
        // Traitement du champs en cours
    }
    else ; // Ne rien faire
}

Ou tu peux au début de ta page de traitement, supprimer tout les champs qui sont vides ...
foreach($_POST AS $cle=>$val)
    if(empty($val))
        unset($_POST[$cle]);
0
Salut Joos
Un GRAND merci pour ton aide, ton code, à mettre en début de page pour supprimer les champs vides, fonctionne parfaitement !
Il ne me restait plus que ce problème à régler.
Mon application est enfin terminée.
Encore merci pour ton aide précieuse !
0
JooS Messages postés 2465 Date d'inscription mardi 22 janvier 2008 Statut Membre Dernière intervention 8 juin 2016 228
22 juil. 2013 à 17:47
De rien ...

Mettre en résolu si c'est le cas.
0