Version complète: sur le forum Webmaster Hub : variable dans un array
Webmaster Hub > Création et exploitation de Sites Internet > Les langages du Net > PHP
william_dallas
Bonjour,
j'ai un petit souci...

Je cherche à appliquer des filtres sur un moteur de recherche interne à mon site, la variable $collection devrait en théorie changer suivant la checkbox cochée par l'utilisateur. Pourriez-vous m'indiquer ce qui ne fonctionne pas dans mon code:


CODE
// on vérifie la ou les checkbox cochés
if ($_GET['check1']=="on") {
            $collection='site1';
        }
        elseif ($_GET['check2']=="on") {
            $collection='site2';
        }
        elseif ($_GET['check3']=="on") {
            $collection='site3';
        }
        elseif ($_GET['check4']=="on") {
            $collection=='site4';
        }
              

$searchParams = array(  'q'         => urlencode($query),
                                'site'    =>     $collection,
                                'num'           => $resultsPerPage,
                                'filter'        => 0 );


Merci pour votre aide,
++
captain_torche
Es-tu sûr que ton formulaire est envoyé en GET ?
Tu peux tester un print_r($_GET); pour vérifier tout cela.
william_dallas
Oui, voici le code du formulaire, c bien un get :

CODE
<form action="<?php echo $_SERVER['PHP_SELF'] ?>" method="get">Rechercher dans :
                    <input type="checkbox" name="check1" value="FR" />FR
                    <input type="checkbox" name="check2" value="US" />US
                    <input type="checkbox" name="check3" value="ES" />ES
                    <input type="checkbox" name="check4" value="D" />D
                        <input type="submit"  value="submit" />
                    </form>
captain_torche
Qu'obtiens-tu avec le print_r ?
william_dallas
J'obtiens ceci :

Array ( [query] => mp3 )

(mp3 c'est mon mot clés rentré dans le champ texte)
captain_torche
Et en cochant les checkbox, ça donne quoi ?
william_dallas
ca donne :

Array ( [query] => google [check1] => FR [check2] => US [check3] => ES [check4] => D )
captain_torche
Donc, il ne faut pas vérifier que la valeur des checkbox est à ON, mais bien la valeur renvoyée (FR pour la check1, US pour la 2, etc).
Ceci dit, si j'ai bien compris, il n'y a en principe qu'une seule checkbox de cochée ? Dans ce cas, il faut choisir des boutons radio.
william_dallas
Bien vu captain, merci pour tes réponses ça fonctionne!Ciao
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.