Précédent   Forum des professionnels en informatique > PHP > Langage > Débuter
Débuter Forum d'entraide pour débuter en PHP. Avant de poster -> Cours PHP, FAQ PHP, Outils PHP, etc.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 12/09/2011, 19h52   #1
Membre à l'essai
 
pat lacaze
Inscription : décembre 2009
Messages : 105
Détails du profil
Informations personnelles :
Nom : pat lacaze

Informations forums :
Inscription : décembre 2009
Messages : 105
Points : 22
Points : 22
Par défaut checkbox garde sa valeur après raffraichissement

bonjour
je suis bénévole dans une association et je cherche en vain une info!

j'ai un formulaire où l'utilisateur valide des checkboxs.

Si l'utilisateur valide la checkbox de la france,il y a un javascript pour rafraichir la page et les régions apparaissent.

mais comme c'est la première fois que j'utilise une checkbox, je ne trouve pas comment lors du rafraichissement de la checkbox, la valeur choisie (checked ou non) soit conservée.Même soucis lorsque je fais un contrôle .

Cela parait simple mais je ne sais pas comment faire.

voici mon code
initialisation de la variable
Code :
1
2
3
4
5
6
7
8
 
$france=$_POST['france'];
 
etc etc....
 
//Mise en session des valeurs du formulaire		
	while ( list($cle, $val) = each( $_POST ) ){ 		 
	$_SESSION[$cle] =$_POST[$cle];
puis le formulaire
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
 
 
				  <tr>
                    <td align="right" class="style11">quel pays souhaitez vous  * : </td>
                    <td align="left"  class="style13">
					<label><input type="checkbox" name="france" value="<?php echo $france ?>" id="france"  onchange="ValidForm()" checked="checked"/>france</label>
                  </tr>
				  <tr>
                    <td align="right" class="style11"></td>
                    <td align="left"  class="style13">
					<label><input type="checkbox" name="espana" value="<?php echo $espana ?>"   id="espana" checked="checked"/>espagne</label></td>
                  </tr>
etc etc ...
je ne prends visiblement pas la bonne variable

merci de votre aide
kogoi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/09/2011, 21h16   #2
Membre confirmé
 
Homme Clément
Développeur informatique
Inscription : décembre 2006
Messages : 213
Détails du profil
Informations personnelles :
Nom : Homme Clément
Localisation : France

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : décembre 2006
Messages : 213
Points : 277
Points : 277
Pour qu'une checkbox soit cochée, il faut qu'elle ait l'attribut checked avec la valeur checked
Code :
1
2
 
<input type="checkbox" checked="checked" />
Dans ton code, on voit que tu joues avec l'attribut value de la checkbox... Cela ne fonctionnera pas. L'attribut value te permet de choisir la valeur envoyée au serveur (il enverra la valeur si la checkbox est cochée, sinon il ne l'enverra pas).

Code :
1
2
3
4
 
<input type="checkbox" name="france" value="france" id="france"  onchange="ValidForm()" 
<?php if ($france) echo 'checked="checked"'; ?>
/>
Climoo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/09/2011, 21h39   #3
Membre à l'essai
 
pat lacaze
Inscription : décembre 2009
Messages : 105
Détails du profil
Informations personnelles :
Nom : pat lacaze

Informations forums :
Inscription : décembre 2009
Messages : 105
Points : 22
Points : 22
Par défaut checkbox

bien vu, c'était ça
chapeau bas!!!
merci à toi
kogoi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/09/2011, 14h50   #4
Membre à l'essai
 
pat lacaze
Inscription : décembre 2009
Messages : 105
Détails du profil
Informations personnelles :
Nom : pat lacaze

Informations forums :
Inscription : décembre 2009
Messages : 105
Points : 22
Points : 22
Par défaut checkbox

dernier petit soucis, je souhaite que la checkbox soit checked
avec
Code :
1
2
3
<input type="checkbox" name="france" value="france" id="france"  onchange="ValidForm()" 
<?php if ($france) echo 'checked="checked"'; ?>
/>
elle ne l'est pas

merci de votre aide
kogoi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/09/2011, 15h22   #5
Membre à l'essai
 
pat lacaze
Inscription : décembre 2009
Messages : 105
Détails du profil
Informations personnelles :
Nom : pat lacaze

Informations forums :
Inscription : décembre 2009
Messages : 105
Points : 22
Points : 22
Par défaut checkbox

j'ai le même soucis sur le fichier de mise à jour
Code :
<input type="checkbox" name="france" value="oui" id="france"  onchange="ValidForm()" <?php if ($bien['france']=="oui") echo 'checked="checked"'; ?>/>
je n'y comprends vraiment rien à ces checked!!!
kogoi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/09/2011, 15h53   #6
Modérateur
 
Avatar de FirePrawn
 
Homme Sébastien
Ingénieur réalisateur
Inscription : mars 2011
Messages : 776
Détails du profil
Informations personnelles :
Nom : Homme Sébastien
Âge : 24
Localisation : France, Haut Rhin (Alsace)

Informations professionnelles :
Activité : Ingénieur réalisateur
Secteur : Industrie

Informations forums :
Inscription : mars 2011
Messages : 776
Points : 2 344
Points : 2 344
Bonjour,

Je comprends pas bien, le code que tu copies est celui qu'on t'a donné plus haut, et tu avais dit que cela fonctionnait
__________________
- Avant toute chose : lire le mode d'emploi du forum et ses règles.
- avant de poster
- Je ne réponds pas aux questions techniques en MP.
FirePrawn est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/09/2011, 16h22   #7
Membre à l'essai
 
pat lacaze
Inscription : décembre 2009
Messages : 105
Détails du profil
Informations personnelles :
Nom : pat lacaze

Informations forums :
Inscription : décembre 2009
Messages : 105
Points : 22
Points : 22
Par défaut checkbox

salut FirePrawn
cela fonctionne effectivement, mais je l'ai essayé hier soir tard et je n'avais pas vu que la checkbox n''était pas checked d'office.
kogoi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/09/2011, 16h36   #8
Modérateur
 
Avatar de FirePrawn
 
Homme Sébastien
Ingénieur réalisateur
Inscription : mars 2011
Messages : 776
Détails du profil
Informations personnelles :
Nom : Homme Sébastien
Âge : 24
Localisation : France, Haut Rhin (Alsace)

Informations professionnelles :
Activité : Ingénieur réalisateur
Secteur : Industrie

Informations forums :
Inscription : mars 2011
Messages : 776
Points : 2 344
Points : 2 344
Donc plus de problèmes ?
__________________
- Avant toute chose : lire le mode d'emploi du forum et ses règles.
- avant de poster
- Je ne réponds pas aux questions techniques en MP.
FirePrawn est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/09/2011, 16h47   #9
Membre à l'essai
 
pat lacaze
Inscription : décembre 2009
Messages : 105
Détails du profil
Informations personnelles :
Nom : pat lacaze

Informations forums :
Inscription : décembre 2009
Messages : 105
Points : 22
Points : 22
Par défaut checkbox

si puis ce que je veux que la checkbox soit checked d'office or avec ce script la checkbox est non checked
le formulaire comprend toutes les régions de france et il est plus simple dans mon cas de "déchecker" des valeurs que l'inverse, c'est pourquoi je voudrais qu'elles soient checked d'office.
kogoi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/09/2011, 14h24   #10
Nouveau Membre du Club
 
Inscription : juin 2008
Messages : 33
Détails du profil
Informations forums :
Inscription : juin 2008
Messages : 33
Points : 28
Points : 28
Code :
1
2
3
4
5
6
7
8
9
10
<tr>
                    <td align="right" class="style11">quel pays souhaitez vous  * : </td>
                    <td align="left"  class="style13">
					<label for="france"><input type="checkbox" name="pays[]" value="france" id="france"  onchange="ValidForm()" checked="checked"/>france</label>
                  </tr>
				  <tr>
                    <td align="right" class="style11"></td>
                    <td align="left"  class="style13">
					<label for="espana"><input type="checkbox" name="pays[]" value="espana"   id="espana" checked="checked"/>espagne</label></td>
                  </tr>
Salut,
tu peux nommer tes checkbox avec le meme nom et mettre [] derriere, dans ton $_POST tu auras un tableau ($_POST['pays']) avec toutes les valeurs qui ont été cochées. (tu peux tester avec print_r($_POST['pays']) de voir comment ca se comporte).
De meme quitte à faire un label rajoute un for="id_du_checbkox" ca te permet en cliquant sur le nom du pays de cocher la checkbox également.

Ensuite pour voir si c'est coché tu fais à l'intérieur de ta balise checkbox :
if (in_array($_POST['pays'], 'ce_que_tu_as_mis_dans_value_dans_ta_checkbox'))
echo 'CHECKED';
tMSun est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/09/2011, 15h24   #11
Membre à l'essai
 
pat lacaze
Inscription : décembre 2009
Messages : 105
Détails du profil
Informations personnelles :
Nom : pat lacaze

Informations forums :
Inscription : décembre 2009
Messages : 105
Points : 22
Points : 22
Par défaut checkbox

merci je vais essayer ta méthode
kogoi est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 00h05.


 
 
 
 
Partenaires

Hébergement Web