Comment changer un nom de variable [Résolu] - PHP - Programmation
Marsh Posté le 09-05-2006 à 08:39:28
jam1 a écrit : |
Non, ça devrait te donner logiquement $valide = $valide1 ou $valide2 ou $valide3..., selon la valeur de $id.
Citation : |
Normal, ${'valide'.$id} n'est pas définie. Tu veux sûrement faire $valide = $_POST['valide' . $id];
Et soit dit en passant, pour tout ça, tu as les tableaux...
Marsh Posté le 09-05-2006 à 12:45:39
sielfried a écrit : |
Ok ca marche avec $valide = $_POST['valide' . $id]; j'avais essayé mais je m'était emmellé les pinceaux.
Ce qui est étonnant c'est que je l'avait déjà utilisé et ça marchait avec $valide ="${'valide'.$id}";.
Par contre comment tu ferais avec les tableaux, ca m'intéresse car je bricole le php donc si y'a mieux je suis prenneur
En tout cas merci beaucoup
Marsh Posté le 09-05-2006 à 13:00:47
En nommant tes listes "valide[]" au lieu de "valide", tu devrais récupérer un tableau avec dans chaque case la valeur sélectionnée dans la liste correspondante.
Marsh Posté le 11-05-2006 à 11:30:19
Je remonte le sujet pour une précision, avant je récuperai les variables d'une page à l'autre sans passer par $_GET mais depuis quelques jour sans avoir rien changé ca ne fonctionne plus (ce qui explique pourquoi je ne pouvais pas récupérer la variable avec ma fonction).
Par contre ce qui m'étonne c'est que je n'ai rien changé par rapport à Easyphp donc je ne vois pas d'ou vient le changement surtout que mon site en ligne fonctionne.
Marsh Posté le 11-05-2006 à 12:22:01
register_globals a dû passer à off d'une manière ou d'une autre, et c'est bien mieux comme ça.
Marsh Posté le 11-05-2006 à 12:32:34
Effectivement je l'ai passé à Off (pour tester Joomla) mais même en le remettant à On ca marche pas.
C'est pas grave j'ai modifié le site en conséquence, de plus si c'est mieux comme ça...
Encore merci pour tes interventions
Marsh Posté le 09-05-2006 à 00:17:50
Salut,
voila je récupère depuis un formulaire des valeurs de plusieurs zone de liste qui sont nommées valide$id, $id correspondant à un numéro auto de ma base mysql.
Sur la page de résultat, je voudrais récupérer leur valeurs mais les listes n'étant pas toujours les mêmes (ca devient par exemple $valide1, $valide3 etc...) je ne peux pas mettre le nom des variables en dur
J'ai déjà utilisé cette commande: $valide ="${'valide'.$id}"; (ou $id correspond toujours au numéro auto de chaque ligne de ma requete sql) ca devrait me donner logiquement $valide=la valeur contenue successivement dans $valide1 puis $valide3 etc... mais là rien à faire.
Voici le code:
$reponse = mysql_query("SELECT * FROM feuille" );
while ($donnees = mysql_fetch_array($reponse) ){
$id = ($donnees['id']);
$valide ="${'valide'.$id}";
echo "$valide";
}
Mais je n'ai pas de valeur qui s'affiche.
Par contre si je fais un echo $_POST["valide1"]; ca marche de même qu'un echo "$id";
Comment faire?
Merci d'avance
Message édité par jam1 le 09-05-2006 à 14:18:20