Variable dynamique & superglobales

[Résolu]
Signaler
Messages postés
9
Date d'inscription
jeudi 17 juin 2010
Statut
Membre
Dernière intervention
28 juin 2010
-
Messages postés
5
Date d'inscription
lundi 4 octobre 2010
Statut
Membre
Dernière intervention
8 octobre 2010
-
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

Messages postés
9
Date d'inscription
jeudi 17 juin 2010
Statut
Membre
Dernière intervention
28 juin 2010

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.... )
Messages postés
5
Date d'inscription
lundi 4 octobre 2010
Statut
Membre
Dernière intervention
8 octobre 2010

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