bouton radio qui reste coché quand renvoi du formulaire
Posté : 10 juin 2012, 22:46
Bonjour,
cela fait quelques jours que je fais des recherches pour faire en sorte que le bouton radio que coche le visiteur reste coché si le formulaire me retourne une erreur pour ne pas qu'il ait à re-cocher tous les boutons radios...
en gros, s'il entre un pseudo erroné alors qu'il a choisi la case à coché 'oui', j'aimerai que le formulaire (lorsqu'il est retourné) note simplement l'erreur au niveau du pseudo mais garde le choix "oui" coché.
voici ma page qui contient le formulaire:
Je n'arrive pas à gérer le checked en fait...
Merci pour votre aide!
cela fait quelques jours que je fais des recherches pour faire en sorte que le bouton radio que coche le visiteur reste coché si le formulaire me retourne une erreur pour ne pas qu'il ait à re-cocher tous les boutons radios...
en gros, s'il entre un pseudo erroné alors qu'il a choisi la case à coché 'oui', j'aimerai que le formulaire (lorsqu'il est retourné) note simplement l'erreur au niveau du pseudo mais garde le choix "oui" coché.
voici ma page qui contient le formulaire:
<?php session_start();?>
enseignant ?
<label for="oui">oui</label>
<input type="radio" name="enseignant" value="oui" <?php if ($_SESSION['form']['enseignant']=='oui') echo $_SESSION['form']['enseignant'];?>/>
<label for="non">non</label>
<input type="radio" name="enseignant" value="non" <?php if($_SESSION['form']['enseignant']=='non') echo $_SESSION['form']['enseignant'];?>/>
<?php //si une erreur ni oui ni non pas coché alors ecris l'erreur
if (!empty($_SESSION['erreur']['enseignant']) and !empty($_SESSION['erreur']['enseignant']))
echo $_SESSION['erreur']['enseignant'];?>
voici la page de traitement de mon formulaire:<?php
session_start();
$_SESSION['erreur']='';
$_SESSION['form']='';
?>
<?php //si aucun bouton enseignant coché
if (empty($_POST['enseignant']))
{
$_SESSION['erreur']['enseignant']='<p class="erreur">cochez une case.</p>';
}
//si valeur = oui, le checked est noté
if(isset($_POST['enseignant'])=='oui')
{
$_SESSION['form']['enseignant']=$_POST['enseignant'];
$_SESSION['form']['enseignant']='checked="checked"';
}
if(isset($_POST['enseignant'])=='non')
{
$_SESSION['form']['enseignant']=$_POST['enseignant'];
$_SESSION['form']['enseignant']='checked="checked"';
}
?>
Je précise que si aucun des boutons n'est coché le retour de l'erreur "cochez une case" se fait correctement.Je n'arrive pas à gérer le checked en fait...
Merci pour votre aide!