[PHP] Récupérer dynamiquement champs de texte

Résolu/Fermé
FastFlood Messages postés 56 Date d'inscription mardi 29 avril 2008 Statut Membre Dernière intervention 12 mai 2016 - 13 janv. 2009 à 00:32
FastFlood Messages postés 56 Date d'inscription mardi 29 avril 2008 Statut Membre Dernière intervention 12 mai 2016 - 13 janv. 2009 à 21:03
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
A voir également:

5 réponses

Benno Messages postés 151 Date d'inscription jeudi 1 mars 2007 Statut Membre Dernière intervention 13 avril 2009 112
13 janv. 2009 à 00:44
$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...
}
0
FastFlood Messages postés 56 Date d'inscription mardi 29 avril 2008 Statut Membre Dernière intervention 12 mai 2016 3
13 janv. 2009 à 00:50
Merci pour ta réponse :)

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

Là pas de $ devant le nom...
0
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
13 janv. 2009 à 09:06
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 />";

}
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
FastFlood Messages postés 56 Date d'inscription mardi 29 avril 2008 Statut Membre Dernière intervention 12 mai 2016 3
13 janv. 2009 à 21:03
Merci à tous les deux pour votre aide.
0