Case à cocher en html et php

floysand -  
 Persévérance -
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. StreMone
     
    Essaie plutot :
    elseif (isset($_POST["menu"])&&$_POST["menu"]=="pâtes") 
    echo "pâtes"; 

    Pour chaque resultat.
    Tu verras, ca ira beaucoup mieux ;)
    6
  2. floysand
     
    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
  3. scat
     
    exact ! la variable n'existe pas si ce n'est pas coché
    2
  4. Persévérance
     
    Il serait peut etre judicieux de modifier le statut du sujet...
    2
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. scat
     
    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
  7. floysand
     
    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