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. 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. Il serait peut etre judicieux de modifier le statut du sujet...
          2
          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
            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