Case à cocher en html et php

J'ai un problème en HTML et PHP
Dans un premier document, j'ai une case à cocher dans un formulaire.
Dans un 2° document en PHP j'ai le message d'erreur "Undefined index" si la case n'est pas cochée, si elle est cochée, tout va bien.
Pourriez-vous m'aider ?
Merci d'avance.

6 réponses

  1. Essaie plutot :
    elseif (isset($_POST["menu"])&&$_POST["menu"]=="pâtes") 
    echo "pâtes"; 

    Pour chaque resultat.
    Tu verras, ca ira beaucoup mieux ;)
    6
    1. Il serait peut etre judicieux de modifier le statut du sujet...
      2
      1. Merci à vous tous qui avez contribué à résoudre mon problème.
        Voila la solution finale :
        Ci-dessous le contenu de fic1.html :
        <form action="fic2.php" method="post">
        <input type="checkbox" name="menu[0]" value="riz">Riz<br>
        <input type="checkbox" name="menu[1]" value="brocolis">Brocolis<br>
        <input type="checkbox" name="menu[2]" value="pomme">Pomme<br>
        <input type="submit" value="Envoyer">
        <input type="reset" value="Annuler">
        </form>
        Ci-dessous le contenu de fic2.php :
        <?
        @$menu=$_POST['menu'];
        echo "Affichage du 1°<br>";
        if (isset($menu[0]) && ($menu[0]=='riz'))
        { echo "Oui, c'est du riz <BR>";}
        echo "On passe au 2°<br>";
        if (isset($menu[1]) && ($menu[1]=='brocolis'))
        { echo "Ce sont des brocolis<BR>";}
        echo "Et enfin au 3°<br>";
        if (isset($menu[2]) && ($menu[2]=='pomme'))
        { echo "Ah, c'est une pomme<BR>";}
        echo "recherche si rien n'a été coché<br>";
        $aucun=0;
        for ($i=0; $i <=2;$i++)
        if (isset($menu[$i])==true)
        $aucun=1;
        if ($aucun==0)
        echo "Effectivement, rien n'a été coché ! <BR>";
        ?>
        4
        1. exact ! la variable n'existe pas si ce n'est pas coché
          2
          1. Voici le contenu du 1° document
            <form action="doc2.php" method="post">
            <input type="checkbox" name="menu" value="riz" checked="checked">Riz<br>
            <input type="checkbox" name="menu" value="pâtes">pâtes<br>
            <input type="checkbox" name="menu" value="champignons">champignons<br>
            <input type="submit" value="Envoyer">
            <input type="reset" value="Annuler">
            </form>
            Voici le contenu du 2° document :
            <?
            if ($_POST["menu"]=="riz")
            echo "riz";
            elseif ($_POST["menu"]=="pâtes")
            echo "pâtes";
            elseif ($_POST["champignons"]=="champignons")
            echo "champignons";
            else
            echo "aucun";
            ?>
            1
            1. En général ça c'est parce que le nom récupéré en php du formulaire n'est pas le bon :

              ex : <input type='checkbox' name='toto' ...
              php : case = $_POST["toto"];

              sinon je vois pas comme ça sans source.
              1