Variable dynamique & superglobales

Résolu
Korxxx Messages postés 9 Date d'inscription jeudi 17 juin 2010 Statut Membre Dernière intervention 28 juin 2010 - 17 juin 2010 à 13:22
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 :(

2 réponses

Korxxx Messages postés 9 Date d'inscription jeudi 17 juin 2010 Statut Membre Dernière intervention 28 juin 2010
17 juin 2010 à 14:45
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.... )
3
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
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
0
Rejoignez-nous