Verifier qu un bouton radio a bien ete coché

Eléphanteau du PHP | 37 Messages

04 juin 2005, 14:47

Salut alors voila mon probleme
j ai un formulaire avec differents choix representés par des boutons radio
Comment puis je faire pour verifier que l utilisateur a bien cliqué sur un des boutons au moment ou il clique sur le bouton submit?

Voici mon code:

Code : Tout sélectionner

<HTML> <HEAD> </HEAD> <BODY> <?php include("sc.php"); $affiche="SELECT Question,NumQuestion,`Nombre de Choix` FROM Question WHERE NumQuestion='".$Question."';"; $res=mysql_query($affiche); while($val = mysql_fetch_array($res)){ $test=$val[0]; $nb=$val[2]; } echo "<br><br>"; $i=0; $choix="SELECT NumQuestion,NumChoix,Choix FROM Choix WHERE NumQuestion='".$Question."';"; $res1=mysql_query($choix); echo "<form method='GET' action='faire.php'>"; echo "<h3>".$test."</h3>"; echo"<br><input type='hidden' name='login' value='".$login."'>"; while($val1 = mysql_fetch_array($res1)){ $j=$i+1; $test2[$i]=$val1[2]; echo "<input type='radio' name='choice' value='".$j."' id='radio".$i."' >".$test2[$i]; $i=$i+1; echo "<br>"; } echo "<input type='submit' value='Voter' onclick='verif(<?php echo($nb);?>);'>"; echo "<input type='reset' value='Annuler'>"; echo "<input type='hidden' name='NumQuestion' value='".$Question."'>"; echo "</form>"; ?> </BODY> </HTML>

Mammouth du PHP | 19672 Messages

04 juin 2005, 15:07

Deux méthodes possibles: une en PHP, l'autre en JavaScript:
-1- Méthode PHP : tu testes la valeur envoyée dans l'élément choice s'il existe: si le résultat donne false, tu ré-affiche le formulaire, sinon tu effectues la requête.
$choice = (isset($_POST['choice']) && $_POST['choice'] != "")?$_POST['choice']:false;
-2- Méthode JavaScript, tu te crées une petite fonction qui vérifie si il y a une valeur et retourne false sinon, donc laisse le formulaire en place. Je m'aventure pas dans le code JavaScript.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphanteau du PHP | 37 Messages

04 juin 2005, 15:10

Ok merci mais ta solution php est a mettre dans le fichier faire.php (celui qui est appele lors de l appel par le submit)?
Si oui comment puis je faire vu que j ai un probleme pour passer le resultat de variables entre differents fichiers?

Mammouth du PHP | 19672 Messages

04 juin 2005, 15:17

Il te reste l'option de cocher un bouton par défaut, par exemple le premier sera coché comme ceci:
<?php
while($val1 = mysql_fetch_array($res1))
{
    $j=$i+1;
    $test2[$i]=$val1[2];
?>
  <input type='radio' name='choice' value='<?php echo($j); ?>' id='radio<?php echo($i); ?>' <?php echo($i == 0?"selected=\"selected\"":null); ?>><?php echo($test2[$i]); ?><br>
<?php
    $i++;
}
?>
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphanteau du PHP | 37 Messages

04 juin 2005, 15:22

Ok merci bien
je vais prendre cette solution alors