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

Résolu
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
Configuration: Mac OS X
Safari 525.27.1

5 réponses

  1. $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...
    }
    
    1. Merci pour ta réponse :)

      Par contre le $$temp c'est fait exprès ?
      1. Oui, attention à bien lire la ligne suivante :
        $temp = "intituleQuestion.$i";
        

        Là pas de $ devant le nom...
        1. 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 />";
          
          }