Envoyer uniquement champs formulaire remplis

Résolu
Choumi -  
 Choumi -
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 8411 Date d'inscription   Statut Contributeur Dernière intervention   1 566
 
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
Choumi
 
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
Choumi
 
Hello !
Can you help me please ?
Thanks
0
JooS Messages postés 2468 Date d'inscription   Statut Membre Dernière intervention   228
 
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
Choumi
 
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 2468 Date d'inscription   Statut Membre Dernière intervention   228
 
De rien ...

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