Bouton radio:un unique attribut name en hmtl et plusieurs en php
KikiOnRoad
-
ElementW Messages postés 4814 Date d'inscription Statut Contributeur Dernière intervention -
ElementW Messages postés 4814 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Je code actuellement un formulaire en html et php. Voilà mon souci : je voudrais que tous mes radios aient le même attribut name pour qu'une seule option puisse être cochée, seulement si je veux que je mon code php fonctionne chacun de mes radios est forcé d'avoir un name différent. Une idée ?
HTML :
<form id="quizz" action="type_tut.php" method="POST">
<p class="question">1. ...</p>
<ul class="answers">
<input type="radio" name="reponse1a" value="a" id="q1a"><label for="q1a">...</label><br>
<input type="radio" name="reponse1b" value="b" id="q1b"><label for="q1b">...</label><br>
<input type="radio" name="reponse1c" value="c" id="q1c"><label for="q1c">...</label><br>
<input type="radio" name="reponse1d" value="d" id="q1d"><label for="q1d">...</label><br>
</ul>
<input name="validation" value="Valider son quizz" type="submit" id="valider"></input>
</form>
PHP :
if(isset($_POST['reponse1a'])){
$reponse1a=$_POST['reponse1a'];
$nbr_a=$nbr_a+1;
}
if(isset($_POST['reponse1b'])){
$reponse1b=$_POST['reponse1b'];
$nbr_b=$nbr_b+1;
}
if(isset($_POST['reponse1c'])){
$reponse1c=$_POST['reponse1c'];
$nbr_c=$nbr_c+1;
}
if(isset($_POST['reponse1d'])){
$reponse1d=$_POST['reponse1d'];
$nbr_d=$nbr_d+1;
}
Merci par avance !
Je code actuellement un formulaire en html et php. Voilà mon souci : je voudrais que tous mes radios aient le même attribut name pour qu'une seule option puisse être cochée, seulement si je veux que je mon code php fonctionne chacun de mes radios est forcé d'avoir un name différent. Une idée ?
HTML :
<form id="quizz" action="type_tut.php" method="POST">
<p class="question">1. ...</p>
<ul class="answers">
<input type="radio" name="reponse1a" value="a" id="q1a"><label for="q1a">...</label><br>
<input type="radio" name="reponse1b" value="b" id="q1b"><label for="q1b">...</label><br>
<input type="radio" name="reponse1c" value="c" id="q1c"><label for="q1c">...</label><br>
<input type="radio" name="reponse1d" value="d" id="q1d"><label for="q1d">...</label><br>
</ul>
<input name="validation" value="Valider son quizz" type="submit" id="valider"></input>
</form>
PHP :
if(isset($_POST['reponse1a'])){
$reponse1a=$_POST['reponse1a'];
$nbr_a=$nbr_a+1;
}
if(isset($_POST['reponse1b'])){
$reponse1b=$_POST['reponse1b'];
$nbr_b=$nbr_b+1;
}
if(isset($_POST['reponse1c'])){
$reponse1c=$_POST['reponse1c'];
$nbr_c=$nbr_c+1;
}
if(isset($_POST['reponse1d'])){
$reponse1d=$_POST['reponse1d'];
$nbr_d=$nbr_d+1;
}
Merci par avance !
A voir également:
- Bouton radio:un unique attribut name en hmtl et plusieurs en php
- Radio française - Télécharger - Médias et Actualité
- Bouton reinitialisation pc - Guide
- Diagnostic bouton photo - Accueil - Outils
- Bouton on/off comment savoir ✓ - Forum Matériel & Système
- Code faux radio bloqué iveco ✓ - Forum Autoradio
1 réponse
'lut, tu peux nommer toutes tes radios avec le même nom, au final, seulement la valeur sélectionnée sera envoyée sous ce nom (dans mon exemple ci-dessous "reponse1").
Et je te conseille très fortement d'utiliser un tableau (associatif s'il le faut) plutôt que de nombreuses variables:
Et je te conseille très fortement d'utiliser un tableau (associatif s'il le faut) plutôt que de nombreuses variables:
$nbr = array( "a" => 0, "b" => 0, "c" => 0, "d" => 0 ); if (isset($_POST['reponse1'])) { $lettre = $_POST['reponse1']; if (isset($nbr[$lettre]) { $nbr[$lettre]++; // le ++ incrémente la valeur de 1, ça équivaut à $nbr[$lettre] = $nbr[$lettre] + 1; } }
Mon formulaire comporte plusieurs questions, chacune ayant 4 réponses possibles (a, b, c et d). Ce que je veux c'est avoir le nombre de a, de b, de c et de d cochés à la fin du formulaire. Le code php de mon sujet initial correspond uniquement à celui de ma première question. Voilà ce qu'il donne pour deux questions :
if(isset($_POST['reponse1a'])){
$reponse1a=$_POST['reponse1a'];
$nbr_a=$nbr_a+1;
}
if(isset($_POST['reponse1b'])){
$reponse1b=$_POST['reponse1b'];
$nbr_b=$nbr_b+1;
}
if(isset($_POST['reponse1c'])){
$reponse1c=$_POST['reponse1c'];
$nbr_c=$nbr_c+1;
}
if(isset($_POST['reponse1d'])){
$reponse1d=$_POST['reponse1d'];
$nbr_d=$nbr_d+1;
}
if(isset($_POST['reponse2a'])){
$reponse2a=$_POST['reponse2a'];
$nbr_a=$nbr_a+1;
}
if(isset($_POST['reponse2b'])){
$reponse2b=$_POST['reponse2b'];
$nbr_b=$nbr_b+1;
}
if(isset($_POST['reponse2c'])){
$reponse2c=$_POST['reponse2c'];
$nbr_c=$nbr_c+1;
}
if(isset($_POST['reponse2d'])){
$reponse2d=$_POST['reponse2d'];
$nbr_d=$nbr_d+1;
}