8800 sujets

Développement web côté serveur, CMS

Bonjour à tous,

J'ai un script qui utilise une vingtaine d'éléments de formulaire. A côté de chaque élément de formulaire, il y a un élément submit dont le nom est "form_NUMERO*DE*LELEMENT_before". "NUMERO*DE*LELEMENT" correspond bien évidemment à un numéro d'élément, de 1 à 20.

Après la validation du formulaire, je souhaiterais savoir sur quel élément à cliquer l'utilisateur ... je sais, c'est assez bizarre comme requête. J'ai bien essayé ceci, mais sans résultat :


if(array_key_exists(preg_match('#^form_[0-9]+_before$#'), $_POST)) {
	echo 'VRAI';
}
else {
	echo 'FAUX';
}


En plus ou moins simplifié : il y a plein d'élément submit du style "form_1_before", "form_2_before", "form_3_before", .. et je souhaiterais savoir quel élément a été validé.

Avez-vous une solution ?
Merci d'avance,
Gaylord.P.
Modifié par Gaylord.P (06 Jan 2009 - 14:44)
Hello Gaylord.P Smiley smile ,

comme je ne connais pas le détail de ta page, voici juste quelques pistes de réflexion :

* au cas où seule la valeur de l'élément à côté du submit t'intéresse le plus simple serait de générer 20 formulaires (avec éventuellement un champ hidden qui te permettrait de savoir lequel a été soumis).

* après quelques tests dans FF et dans IE il s'avère que l'existence de la variable correspondant au submit est très aléatoire si on tape Entrée alors que l'on est dans un champ de saisie et pas sur le "bouton" (juste pour info).

* pour ce qui est du preg_match il me semble que ce serait plus simple de l'effectuer sur un implode de $_POST qu'en utilisant array_key_exists (pas testé)...

* parfois on gagne son temps en utilisant une bonne vieille boucle qui va bien ! Smiley langue
Modifié par Heyoan (04 Jan 2009 - 20:23)
Bonjour,
Je n'ai pas pu répondre hier car j'ai eu pas mal de travail. Smiley cligne

Merci de ton aide, j'ai en effet utilisé une boucle simple (en passant par un champ caché, et tout et tout ...), avant même que tu répondes d'ailleurs. Si habituellement je mets le code réponse à ma question sur le forum, là c'est difficile car c'est un ensemble de centaines de lignes de codes propres à mes sites, inutilisable ailleurs donc.

Mais le problème est bel est bien réglé,
Encore merci,
Gaylord.P. Smiley smile