Page 1 sur 1

pb pour récupérer les valeurs des checkbox

Posté : 04 févr. 2006, 18:04
par - HXSS -
Bonjour le peuple PHPien : x

Une fois de plus j'ai besoin de votre aide (cela ne cessera donc jamais ! :cry: )

une fois le membre inscrit il se connecte avec son pseudo et son pass, je passe son pseudo en variable de sessions..
ensuite il peut changer ses infos lors de son inscription, j'ai repris ni plus ni moins mon code que j'ai fait pour l'inscription (merci à vous..)
je fais une requête pour récupérer ses infos dans ma BDD
$sqlinfo = 'SELECT * FROM membre WHERE pseudo="'.addslashes($_SESSION['pseudo']).'"';
et je les affiche comme ceci de façon à garder ses modifications éventuelles en mémoire s'il a un message d'erreur avant l'update...
<input type="text" name="nom" id="nom" value="<?php if (isset($_POST['nom'])) { echo $_POST['nom']; } else { echo stripslashes(htmlentities(trim($datainfo[4]))); } ?>" >
ça marche (enfin j'ai pas développer la partie update encore...) sauf pour les checkbox CI[]
dans ma bdd le membre en question à par exemple actumedia,automoto dans ses centres d'intêrets je voudrais que lorsqu'il arrive sur la page modif elles soient déjà cochées : /

j'ai adapté aussi bien que je pouvais mon code pour récupérer comme pour les autres infos mais ça marche pas : (
<?PHP if (isset($_POST['CI'])) { if (is_array($_POST['CI'])) { if (in_array("actumedia",$_POST['CI'])) echo "checked=\"checked\""; } } else { if (is_array($datainfo[14])) { if (in_array("actumedia",$datainfo[14])) echo "checked=\"checked\""; } } ?>

Posté : 04 févr. 2006, 19:16
par zehle
ça devrai marché!

tu pourrai nous montré le code d'une de tes Checkbox?

Posté : 04 févr. 2006, 19:57
par - HXSS -
voici le code pour savoir si l'utilisateur à coché une checkbox et la garder en mémoire si rafraichissement de la page en cas d'erreur... (oubli de rentrer son pass par exemple)
<input type="checkbox" name="CI[]" id="CI[]" value="actumedia" <?PHP if (is_array($CI)) { if (in_array("actumedia",$CI)) echo "checked=\"checked\""; } ?> />
ça marche pas de soucis

si par contre je prends juste en compte ce qu'il y a dans ma base de donnée ma logique me dicte d'écrire ceci
<input type="checkbox" name="CI[]" id="CI[]" value="actumedia" <?PHP if (is_array($datainfo[14])) { if (in_array("actumedia",$datainfo[14])) echo "checked=\"checked\""; } ?> />
si j'affiche '.$datainfo[14].' dans mon script il m'affiche bien actumedia,automoto .. donc lo gi que ment s'il trouve actumedia dans $datainfo[14] il devrait marquer checked="checked" or là il le fait pas donc je dois être illogique : O

Posté : 04 févr. 2006, 22:55
par - HXSS -
j'ai trouvé l'erreur en affichant ma variable $CI il affiche Array alors que pour $datainfo[14] il affichait actumedia,automoto

en fait c'était tout bête je recherchais dans $datainfo[14] alors que c'était pas un tableau : D

conclusion je suis très illogique ! : O (ça fait un choc..)