Récupération de nom de variables indéxées

jadiema Messages postés 8 Date d'inscription dimanche 25 janvier 2004 Statut Membre Dernière intervention 22 janvier 2006 - 25 janv. 2004 à 11:26
jadiema Messages postés 8 Date d'inscription dimanche 25 janvier 2004 Statut Membre Dernière intervention 22 janvier 2006 - 27 janv. 2004 à 21:16
J'ai crée dans un fichier PHP un formulaire FORM avec un bouton SUBMIT. A l'intérieur de ce form, j'effectue une boucle qui crée des input text dont le nom est indexée sur la valeur de la variable qui s'incrémente.
Par exemple, avec un form et une boucle de 5 valeurs de la variable i le nom des input text est formé comme ceci:
name=<? echo "Var".$i;?>
ce qui me crée donc 5 variables Var1, Var2...Var5.
Quand l'utilisateur appuie sur SUBMIT, j'aimerais récupérer les valeurs Var1 à Var5 à l'aide d'une boucle comme ceci
for ($i = 1; $i <= 15; $i++)
{
echo "La Variable n°".$i." = ".$Var.$i;
}
Mais cela ne marche pas. Au lieu de me donner la valeur de la variable correspondante , j'obtiens simplement le texte Var1 à Var5.
Si par contre j'explicite chacune des variables e.g. $Var1, $Var2 à $Var5, je récupère bien les valeurs.

Comment faire ?
Merci d'avance de votre aide.

Jérémie

2 réponses

nicowatt Messages postés 74 Date d'inscription mercredi 15 janvier 2003 Statut Membre Dernière intervention 18 janvier 2013
25 janv. 2004 à 18:04
C'est assez marrant de voir que ce genre de problème existe !!! :-)

Pour répondre à ton problème, une simple réponse:

name="Var[<?echo $i;?>]"

et oui, les tableaux en HTML, ca marche.
en fait si tu écris des noms de variables en HTMl avec cette syntaxe:
name=ma_variable[]

quand tu envoies le formulaire HTMl, PHP reçois une variable ma_variable de type array (matrice)

tu peux aussi ajouter des dimensions à ta matrice:
name=ma_variable[][][][][] etc...

Tu peux affecter des noms ou des numéros (appelé clef en PHP)
name=ma_variable[nom]
name=ma_variable[prenom]
name=ma_variable[tel]
name=ma_variable[1]
name=ma_variable[2]

Dans mon exemple tu inseres ta variable i en tant que nom de clef (key)

Et tu ecris:

for ($i = 1; $i <= count(ma_variable); $i++)
{
echo 'La Variable n°'.$i.' = '.$ma_variable[$i];
}

Je sais pas si j'ai été clair mais voila la solution !!!

NicoWatt...
0
jadiema Messages postés 8 Date d'inscription dimanche 25 janvier 2004 Statut Membre Dernière intervention 22 janvier 2006
27 janv. 2004 à 21:16
Je te remercie pour cette solution.
En fait quelques minutes après avoir posté ce message, j'ai trouvé une solution qui marche bien. J'utilise
une boucle du style

for ($k = 1; $k <= $count(var); $k++)
{

$mavar = $HTTP_POST_VARS["mavar$k"];

}

avec tout simplement $HTTP_POST_VARS qui me permet de récupérer les varibales indéxées par le formulaire.

Merci encore pour ton aide.

Jiji
0
Rejoignez-nous