[RESOLU]probleme checkbox checked

ViPHP
ViPHP | 2577 Messages

27 avr. 2011, 16:05

Si tu prends juste la partie en PHP :
<input type="checkbox" name="airbag" value="<?php if (isset($tempo['airbag']) && $tempo['airbag']=='oui') echo 'checked="checked"'; ?>"/>
Tu vas générer :
<input type="checkbox" name="airbag" value="checked="checked""/>
ou
<input type="checkbox" name="airbag" value=""/>
ou
<input type="checkbox" name="airbag" value="<?php if (isset($tempo['airbag']) && $tempo['airbag']=='oui') echo 'checked="checked"'; ?>"/>
C'est pour ca que je souhaites que tu regardes le résultat dans le source html généré et que tu ne te limites pas à ce que tu vois dans le navigateur.

Suivant ce que tu génères, tu/on pourra envisager une correction différente.

Eléphant du PHP | 123 Messages

27 avr. 2011, 16:30

:shock: :?

ou je dois regarder j ai as vraiment compris

j ai afficher ma page et demander a voire le code source
ca me donne ca
                   <td>&nbsp;<input type="checkbox" name="abs" value="<?php if (isset($tempo['abs']) && $tempo['abs']=='oui') echo 'checked="checked"'; ?>" />oui&nbsp;ABS</td>               
                  <td>&nbsp;<input type="checkbox" name="esp" value="<?php if (isset($tempo['esp']) && $tempo['esp']=='oui') echo 'checked="checked"'; ?>"   />non&nbsp;ESP</td>              
                  <td>&nbsp;<input type="checkbox" name="airbag" value="<?php if(isset($tempo['airbag']) && $tempo['airbag']=='oui') echo 'checked="checked"'; ?>"/>oui&nbsp;Airbag</td               
                  <td>&nbsp;<input type="checkbox" name="alrm" value="<?php if (isset($tempo['alrm']) && $tempo['alrm']=='oui')  echo 'checked="checked"'; ?>"/>non&nbsp;Alarme</td
je comprend pas ou tu me demande de regarder dans quel source?

ViPHP
ViPHP | 2577 Messages

27 avr. 2011, 16:40

Donc tu peux voir que le code source ne correspond pas à ce que tu veux/crois générer.

Manifestement le système de template ne gère le code PHP dans les templates.

Eléphant du PHP | 123 Messages

27 avr. 2011, 16:44

comment ca il correspond pas? c est le meme que mon fichier a part les oui et non qui s affiche

deja j ai un soucis car on voit les slash et double cotes ect car ca mes les affiches dans le tableau et je sais pas pourquoi
Image

Eléphant du PHP | 123 Messages

27 avr. 2011, 16:48

je peux affirmer que le moteur de template gere le php j en ai déjà mis aupart avant sans soucis pour d autres chose

ViPHP
ViPHP | 2577 Messages

27 avr. 2011, 16:56

Le fait que tu vois
<?php if (isset($tempo['alrm']) && $tempo['alrm']=='oui')  echo 'checked="checked"'; ?>
dans le source HTML est le problème car PHP n'a donc pas été interprété.

Je ne peux pas dire mieux. Après ce problème est lié au fonctionnement du système de template que tu utilises qui manifestement ne prend pas en charge du code PHP dans les templates..

Eléphant du PHP | 123 Messages

27 avr. 2011, 17:37

heu la j ai un doute car si je passe dircetement par la page sans passer par le template je vois aussi le code php en affichant la source qui st pour moi normal il me semble

Eléphant du PHP | 123 Messages

27 avr. 2011, 19:50

encore un constat que je viens de decouvrir
sous firefox il me checked tout que ce soit oui ou non
mais sous IE version xp mais la derniere il me checked rien :shock:

ViPHP
ViPHP | 2577 Messages

28 avr. 2011, 08:19

Bonjour,

Manifestement, il faut que tu revoies comment fonctionne ton outil de template pour affecter des valeurs. Vue la présence de code php dans le source de ton HTML, il n'y a rien de surprenant à ce que les navigateurs fassent n'importe quoi. Ton moteur de template gère des instruction de type [var.alrm;noerr] mais pas de PHP dans les templates.

Comme tu avais mis [var.alrm;noerr], tu peux calculer une variable $checkalrm qui contient rien ou ' checked' pour alimenter le ta case à cocher en mettent [var.checkalrm;noerr] dans la template. Mais ce n'est qu'une supposition et je ne suis pas sur que ca soit dans l'esprit de ton moteur.

Eléphant du PHP | 123 Messages

28 avr. 2011, 08:48

bonjour, et merci pour tes reponses :D

je vais essayer de faire quelque chose avec ce que tu viens de m expliqué

est ce qu il est possible de gerer les if de ma checkbox donc le checked dans mon fichier php ?

ViPHP
ViPHP | 2577 Messages

28 avr. 2011, 08:54

oui, c'est possible. Mais penche toi sur ton moteur de template pour voir comment il conseille de gérer les checkbox. Ma solution me semble un peu du bricolage.

Eléphant du PHP | 123 Messages

28 avr. 2011, 09:19

le problème c est que le moteur de template( tinybutstrong) que j utilise c est ce qu on nous a montré en cours ou je fais ma formation actuellement je ne connais que ce que l on nous a montré ,je vais voir sur leur site qui est en anglais(dur pour moi :) )en espérant trouver quelque chose

Eléphant du PHP | 123 Messages

28 avr. 2011, 09:28

j ai trouvé cette discussion qui je crois est que je recherche http://www.tinybutstrong.com/forum.php?thr=1901 ils parlent de plugins html

et ensuite trouver cela http://www.tinybutstrong.com/plugins.ph ... lugin_html qui en parle,le plus dur pour moi est de comprendre dans la langue de Shakespeare si tu peux m aider ca serai super sympa :D

Eléphant du PHP | 123 Messages

28 avr. 2011, 11:55

bon j ai eu une idée ,de controler mon checked par le fichier php mais voila ca marche pas pour la raison suivante
rien que le fait de mettre le mot checked dans mon input checkbox il me la checked, je pensai que c etait la valeur apres le = qui comptais??pourquoi alors mettre checked="checked" si checked suffit?? :shock:

dans mon esprit j avais fait ca
<td>&nbsp;<input type="checkbox" name="abs" value="oui" checked=coch1/>[var.abs;noerr]&nbsp;ABS</td>
<td>&nbsp;<input type="checkbox" name="esp" value="oui" checked=coch2/>[var.esp;noerr]&nbsp;ESP</td>
en mettant mes conditions dans le fichier php
 $abs = $tempo['abs'];
                          if(isset($tempo['abs']) =="oui")    
                          {$coch1="checked";}
                          
                         	$esp = $tempo['esp'];
                         	if(isset($tempo['esp']) =="oui")    
                          {$coch2="checked";}
mon idée me paraissait pourtant bonne :(

ViPHP
ViPHP | 2577 Messages

28 avr. 2011, 12:06

Je verrais plutôt :
<td>&nbsp;<input type="checkbox" name="abs" value="oui" [var.coch1;noerr] />[var.abs;noerr]&nbsp;ABS</td>
Mais je te rappelle que je ne connais pas ton moteur de template.
Pour tes tests, je te rappelle qu'il faut regarder le source de la page dans le navigateur car la page afficher par le navigateur cache des choses.

Autrement checked ou checked="checked", c'est un problème de puriste et d'intégriste du xml. Quand ca marcheras tu pourras toujours voir du coté du validator du w3c pour améliorer ton html (http://validator.w3.org/).