[PHP] Récupérer dynamiquement champs de texte [Résolu/Fermé]

Signaler
Messages postés
56
Date d'inscription
mardi 29 avril 2008
Statut
Membre
Dernière intervention
12 mai 2016
-
Messages postés
56
Date d'inscription
mardi 29 avril 2008
Statut
Membre
Dernière intervention
12 mai 2016
-
Bonsoir,

J'ai plusieurs champs de texte dont je souhaite récupérer le contenu en PHP. Ces derniers ont un nom similaire, ils sont créé grâce à une boucle :
$i=1;
while ($i<=$nbQuestions)
{
            echo "<label for=\"txtQuestion" . $i . "\" id=\"lblQuestion" . $i . "\">Intitul&eacute; de la question " . $i . "&nbsp;: </label>";
            echo "<input type=\"text\" id=\"txtQuestion" . $i . "\" name=\"txtQuestion" . $i . "\" />";
            $i++;
}

Mon problème est que je ne sais pas comment récupérer de manière dynamique le contenu de ces champs. La seule chose me venant à l'esprit c'est ça, et ce n'est pas correct...
$i=1;
while ($i<=$nbQuestions)
{
            $intituleQuestion.$i = $_POST['txtTitre'.$i];
            $i++;
}

Des propositions à me faire ? Merci

5 réponses

Messages postés
151
Date d'inscription
jeudi 1 mars 2007
Statut
Membre
Dernière intervention
13 avril 2009
108
$i=1;
while ($i <= $nbQuestions)
{
            $temp = "intituleQuestion.$i";
            //On affecte la valeur du ième champ txtTitre à la ième variable $intituleQuestion
            $$temp = $_POST['txtTitre'.$i];
            $i++;
            //echo($intituleQuestion1) affiche bien la valeur du premier champ...
}
Messages postés
56
Date d'inscription
mardi 29 avril 2008
Statut
Membre
Dernière intervention
12 mai 2016
3
Merci pour ta réponse :)

Par contre le $$temp c'est fait exprès ?
Messages postés
151
Date d'inscription
jeudi 1 mars 2007
Statut
Membre
Dernière intervention
13 avril 2009
108
Oui, attention à bien lire la ligne suivante :
$temp = "intituleQuestion.$i";

Là pas de $ devant le nom...
Messages postés
5358
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
881
une autre solution pour memoriser les réponses:

//page questionaire
$i=1;
while ($i<=$nbQuestions)
{
            echo "<label for=\"txtQuestion" . $i . "\" id=\"lblQuestion" . $i . "\">Intitul&eacute; de la question " . $i . "&nbsp;: </label>";
            echo "<input type=\"text\" id=\"txtQuestion" . $i . "\" name=\"txtQuestion" . $i . "\" />";
            $i++;
}
echo "<input type=\"hidden\" id=\"nbQuestions\" name=\"nbQuestions\" value=".$nbQuestions." />"; //on passe en champ cache le nbr de questions

//et dans l'autre page traitement des reponses
//recup des valeurs postees

$nbQuestions=$_POST['nbQuestions'];
$i=1;
$array_questions=Array();
while ($i<=$nbQuestions)
{
	//memorisation dans l'array
	$array_questions[$i]= $_POST['txtQuestion'.$i]
            
            $i++;
}

//maintenant on peut traiter les réponses
foreach($array_questions as $cle=>$value){

echo "R&eacute;ponse num ".$cle." : ".$value;"<br />";

}
Messages postés
56
Date d'inscription
mardi 29 avril 2008
Statut
Membre
Dernière intervention
12 mai 2016
3
Merci à tous les deux pour votre aide.