Variable dynamique & superglobales [Résolu]

Messages postés
9
Date d'inscription
jeudi 17 juin 2010
Statut
Membre
Dernière intervention
28 juin 2010
- - Dernière réponse : cs_klytorh
Messages postés
5
Date d'inscription
lundi 4 octobre 2010
Statut
Membre
Dernière intervention
8 octobre 2010
- 4 oct. 2010 à 10:21
Bonjour,

J'ai un formulaire qui est créé selon le parcours d'une base de donnée.
Les variables dont de la forme nom_ID

Le problème c'est que l'usage de variable dynamique en php est interdit dans le cadre des variables superglobales ($_POST) ici présent...

Auriez vous une solution ? J'ai beau chercher je sèche :(
Afficher la suite 

2 réponses

Meilleure réponse
Messages postés
9
Date d'inscription
jeudi 17 juin 2010
Statut
Membre
Dernière intervention
28 juin 2010
3
Merci
Bon, j'ai trouvé la solution


Effectivement la solution suivante ne marche pas :

$NOM=${"_POST['nom_".$ID."']"};

et pour cause :

Attention
"Notez que les variables dynamiques ne peuvent pas être utilisées avec les tableaux Superglobaux de PHP. " (extrait du manuel php)


Mais un simple :

$NOM=$_POST['nom_'.$i];

Marche parfaitement...
(C'était la solution que j'avais en tout premier essayé mais j'avais du faire une erreur de concaténation qui m'a amené à tester ensuite avec les variables dynamiques.... )

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 191 internautes nous ont dit merci ce mois-ci

Commenter la réponse de Korxxx
Messages postés
5
Date d'inscription
lundi 4 octobre 2010
Statut
Membre
Dernière intervention
8 octobre 2010
0
Merci
Salut je suis actuellement confronter au meme probleme que toi et j'ai fait la meme chose que toi au debut :

$fh = fopen("test.txt", 'a+');
foreach ($_POST['checkbox_'.$produit['id_product'].''] as $nomvar => $valeurvar)
{
fwrite($fh, $nomvar . " : " . utf8_decode($valeurvar) . "\n");
}
fclose($fh);

il faut donc que je mette .$produit['id_product']. dans une variable $i
Et que je fasse :

$fh = fopen("test.txt", 'a+');
$i=$produit['id_product'];
$checkbox=$_POST['checkbox_'.$i];
foreach ($checkbox as $nomvar => $valeurvar)
{
fwrite($fh, $nomvar . " : " . utf8_decode($valeurvar) . "\n");
}
fclose($fh);

Malheureusement sa ne fonctionne pas avec cette methode car en fait je veux recuperer la valeur de ma checkbox (qui est generé en AJAX selon un choix de 3 liste deroulante) après avoir envoyer le formulaire
Commenter la réponse de cs_klytorh