remettre les choix d'une checkbox sur une autre page

logtt
Invité n'ayant pas de compte PHPfrance

04 mars 2011, 14:10

bonjour amis php!

Merci pour vos précédentes aides. J'arrive à la fin de mon site ! mais je bloque sur un dernier détails :'(
j'ai un formulaire en page d'accueil et le même dans ma page de recherche. Je souhaite que lorsque le formulaire de la page d'accueil soit complété les informations remplis réapparaissent sur le formulaire de la page recherche.

j'ai réussi à tout renvoyer sauf un critère le nombre de pièce, car c'est un critère à choix multiple et sous forme de checkbox.

j'me suis dit qu'avec un input hidden (merci AB) j'pouvais déjà reprendre les infos pour que le nombre de pièce soit conservé.

ce qui me donne :
<input type="hidden" name="piece" value="<?print_r($_POST["piece"]);?>"> 

et la magie tte ma variable apparait MAIS ...pas tt à fait pareil.

si je fais un copier coller entre ce que je reçois du formulaire et ce que je sauvegarde avec la ligne plus haute ca me donne la même chose et pourtant avec mon print_r($_REQUEST); je vois un décalage, le premier (info saisie depuis le formulaire ) ca donne genre ca :

Code : Tout sélectionner

[piece] => Array ( [0] => 1 )
et le deuxième donc le sauvegardé avec le "print_r post" ca donne :

Code : Tout sélectionner

[piece] => Array ( [0] => 1 )
et du coup mes résultats s'affiche plus...

que faire!!!


Bonus :
de plus je sais pas comment faire pour que les cases soit cochés car la j'récupe l'info en fouine avec le hidden mais le checkbox reste empty! existerait-il une technique avec un autre mot que hidden pour que ca marche, genre "submit" ou "check" :s

merci d'avance :)

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

04 mars 2011, 15:20

salut,

sans le formulaire de départ c'est pas facile de t'aider.

si tu a un choix multiple je suppose que les checkbox on toute les mêmes nom ? (genre check[] ?)

si oui il faut que tu passe une valeur significative en value de la box (une clef primaire de table est une bonne idée).

Après je ne vois pas le rappatr avec une quantité (a moins que les checkbox n'indique celle ci, par tranche ou autre ?).

Pour cocher un case "par défaut" il faut ajouter checked="checked"
par exemple <input type="checkbox" name="check[]" value="412" checked="checked" />

seule les cases cochées seront transmise à la page qui valide le formulaire il te faut donc tester (if / opérateur ternaire) la valeur que tu met en value et ce qu'il y a dans le table $_POST correspondant.

@+
Il en faut peu pour être heureux ......