bouton radio qui reste coché quand renvoi du formulaire

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : bouton radio qui reste coché quand renvoi du formulaire

Re: bouton radio qui reste coché quand renvoi du formulaire

par lau13005 » 11 juin 2012, 14:10

Bonjour, merci!
@spols: Mon erreur venait effectivement d'une erreur de syntaxe.
Merci à tous pour vos réponses rapides.

Re: bouton radio qui reste coché quand renvoi du formulaire

par Spols » 11 juin 2012, 01:26

Je pense que ton erreur vien d'ici :
if(isset($_POST['enseignant'])=='oui')
Tu vérifie que le retour du isset (True ou false) est égale à un string, c'est un peu aberrant essaye plutot avec ceci
if(isset($_POST['enseignant']) && $_POST['enseignant']=='oui')
Sinon, ajoute des echo de débugage un peu partout pour voir si les assignation : lectures de variable se fait comme tu le souhaite

Re: bouton radio qui reste coché quand renvoi du formulaire

par moogli » 10 juin 2012, 23:32

salut,


c'est l'attribut checked qu'il faut utiliser.

dans la construction de la balise tu ajoute un if pour vérifier si la case était déjà cochée si oui checked="checked" si on rien.

plus d'info sur la checkbox http://fr.selfhtml.org/html/formulaires ... rification

@+

bouton radio qui reste coché quand renvoi du formulaire

par lau13000 » 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:
<?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!