par
abelthorne » 25 août 2008, 11:41
Merci pour la réponse.
Je ne connais pas le nom des champs, justement ; le but est de faire une classe "formulaire" que je peux manipuler dans tous les sens, en donnant n'importe quel nom à mes champs.
Je voudrais pouvoir tester la valeur de $_POST[$nom_champ], que $nom_champ soit "toto", "truc[a]", machin[a][1][bbb]", etc.
La seule possibilité qui m'est venue à l'esprit serait de convertir $nom_champ de façon à ce qu'il devienne (par rapport aux exemples précédents) ['toto'], ['truc']['a'], ['machin']['a']['1']['bbb'] et de le passer à $_POST, mais je ne vois pas comment faire. J'ai essayé de bidouiller avec du code du genre
Code : Tout sélectionner
$tab="['machin']['a']['1']['bbb']";
$test="_POST".$tab;
echo $$test;
mais évidemment, ça ne marche pas : PHP traite à priori le "$_POST['machin']['a']['1']['bbb']" comme une chaîne et pas comme le tableau $_POST avec ses sous-tableaux.
J'ai essayé aussi de transformer la chaîne en tableau de clés pour le passer à $_POST
Code : Tout sélectionner
$tab=array('machin'=>array('a'=>array('1'=>array('bbb'=>''))));
echo $_POST[$tab];
mais ça marche pas plus.
Merci pour la réponse.
Je ne connais pas le nom des champs, justement ; le but est de faire une classe "formulaire" que je peux manipuler dans tous les sens, en donnant n'importe quel nom à mes champs.
Je voudrais pouvoir tester la valeur de $_POST[$nom_champ], que $nom_champ soit "toto", "truc[a]", machin[a][1][bbb]", etc.
La seule possibilité qui m'est venue à l'esprit serait de convertir $nom_champ de façon à ce qu'il devienne (par rapport aux exemples précédents) ['toto'], ['truc']['a'], ['machin']['a']['1']['bbb'] et de le passer à $_POST, mais je ne vois pas comment faire. J'ai essayé de bidouiller avec du code du genre
[code]
$tab="['machin']['a']['1']['bbb']";
$test="_POST".$tab;
echo $$test;
[/code]
mais évidemment, ça ne marche pas : PHP traite à priori le "$_POST['machin']['a']['1']['bbb']" comme une chaîne et pas comme le tableau $_POST avec ses sous-tableaux.
J'ai essayé aussi de transformer la chaîne en tableau de clés pour le passer à $_POST
[code]
$tab=array('machin'=>array('a'=>array('1'=>array('bbb'=>''))));
echo $_POST[$tab];
[/code]
mais ça marche pas plus.