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

Résolu
FastFlood Messages postés 63 Statut Membre -  
FastFlood Messages postés 63 Statut Membre -
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. Benno Messages postés 153 Date d'inscription   Statut Membre 112
     
    $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
  2. FastFlood Messages postés 63 Statut Membre 3
     
    Merci pour ta réponse :)

    Par contre le $$temp c'est fait exprès ?
    0
  3. Benno Messages postés 153 Date d'inscription   Statut Membre 112
     
    Oui, attention à bien lire la ligne suivante :
    $temp = "intituleQuestion.$i";
    

    Là pas de $ devant le nom...
    0
  4. Alain_42 Messages postés 5413 Statut Membre 904
     
    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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. FastFlood Messages postés 63 Statut Membre 3
     
    Merci à tous les deux pour votre aide.
    0