Créer une seule fonction pour tester variables formulaire ?

Eléphanteau du PHP | 40 Messages

02 avr. 2006, 23:15

Bonjour à tous,

Voilà mon problème. J'ai crée plusieurs fonctions relativement basiques pour créer des formulaires selon les besoins, du style :

Code : Tout sélectionner

function FormInput ($libelle, $nom, $taille, $longueurmax, $obligatoire) { echo '<input name="' . $name . '" size="' . $taille . '" maxlength="' . $longueurmax . '">' ...... '; }
Dans ces fonctions, j'ai un argument qui prend la valeur 1 si le champ est obligatoire et 0 s'il peut être vide.

Ce que j'aimerais pouvoir créer, c'est une (et une seule) fonction qui puisse tester bien sur si le formulaire a été validé (ça je sais faire) mais qui puisse récupérer la valeur de chacun des champs et indiquer une erreur en fonctions des champs obligatoires non remplis.

Dans un script classique, ça ne pose pas de problème mais comment pouvoir créer cette fameuse unique fonction capable de récupérer tous ces paramètres ??? utilisations de variables globales ? Bref, je ne vois pas trop comment m'y prendre.
Si vous avez une petite idée, merci d'éclairer ma lanterne. Je ne cherche pas de solution toute faite mais juste un commencement de début de solution :)

Merci d'avance !
A bientot,
JM

Mammouth du PHP | 19672 Messages

03 avr. 2006, 00:31

:idea: Crée un tableau (array) dans lequel tu stoques les informations nécessaires à chaque fois que tu ajoutes un élément à ton formulaire : pour la validation, il te suffira par la suite de créer ta fonction qui travaillera en boucle sur cet unique tableau.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphanteau du PHP | 40 Messages

03 avr. 2006, 08:47

Merci à toi Cyrano pour la qualité et la rapidité de ta réponse :merci:

Je vais essayer ça. Donc, si je comprends bien, chaque appel de fonction qui ajoute un élément de formulaire ajoute un élément dans l'array. Ma fonction de validation boucle sur ces éléments. C'est ça ? Mais comment est récupéré ce tableau dans la partie validation de formulaire ?

Mammouth du PHP | 19672 Messages

03 avr. 2006, 09:08

enregistre ce tableau dans une variable de session par exemple
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphanteau du PHP | 40 Messages

03 avr. 2006, 09:13

Merci de ton aide, je vais essayer de concrétiser tout ça :wink:

Par contre, est-ce que ça pose un problème si j'utilise déjà une session étant donné que mon formulaire peut très bien être déjà dans un espace sécurisé ?

:merci:

Eléphanteau du PHP | 40 Messages

03 avr. 2006, 22:29

C'est encore moi ! :D

Au lieu de passer par une variable de session, est-il possible de passer mon tableau qui contient mes champs dans $_POST, en même temps que la validation du formulaire ?