Version complète: sur le forum Webmaster Hub : Checkbox ne reste pas cochée changement de page
Webmaster Hub > Création et exploitation de Sites Internet > Les langages du Net > PHP
william_dallas
Bonjour à tous,

J'ai un moteur de recherche interne à mon site auquel j'ai appliqué plusieurs filtres pour trier les résultats. Tout marche correctement sauf que lorsque l'utilisateur clique sur la page suivante des résultats retournés, les checkbox se decochent et le filtre n'est plus appliqué dès la deuxième page.
Je voudrais que lorsque l'utilisateur choisi une checkbox avant de lancer la recherche, celle-ci reste cochée pour toutes les pages suivantes sans que l'utilisateur est a recliqué dessus.


CODE
<form action="<?php echo $_SERVER['PHP_SELF'] ?>" method="get">Rechercher dans :
                    <input type="checkbox" name="check1" value="FR" />Filtre0
                    <input type="checkbox" name="check2" value="US" />Filtre1
                    <input type="checkbox" name="check2" value="ES" />Filtre2
                    <input type="checkbox" name="check4" value="D" />Filtre3
                    </form>


Si quelqu'un a une idée ca serai cool de m'en faire part!
Merci
captain_torche
Pour chacune de tes checkbox, tu fais un test pour vérifier si elle est présente en _GET ou _POST, puis tu ajoutes l'attribut checked="checked".
par exemple, pour la première :
CODE
<?php
$check = '';
if(isset($_GET['check1']))
$check = ' checked="checked"';
echo '<input type="checkbox" name="check1" value="FR"'.$check.' />Filtre0';
?>
william_dallas
Ah ok, effectivement ton code marche bien lorsqu'on le place dans le <form> seulement mon lien vers la page suivante n'est pas dans ce <form>, la page est recharger entièrement ainsi que le form qui se réinitialise et je ne capte pas comment faire!
captain_torche
Dans ce cas, il faut que ton lien "page suivante" mentionne comme paramètres les différentes cases cochées.
Si je coche la case "FR" et "ES", il doit être sous la forme suivante :
CODE
moteur?php?page=2&check1=FR&check3=ES
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.