Erreur Switch php message defaut

Bonjour j'ai le code suivant :

par contre quand mon message de defaut (erreur), j'ai bien la phrase "erreur" à l'écarn mais j'ai la phrase la aussi :

"Notice: Undefined index: cocktail_alcool in c:\program files\easyphp1-8\www\audrey3\cocktail_avec_alcoolchoix.php on line 13
"

Mon code :

<?php

switch ($_POST['cocktail_alcool'])
{
case 'eternite' : include ('eternite_imperiale.php');

break;
case 'amour' : include('cocktail_beaucoup_amour.php');
break;
case 'pina' : include('pina_colada.php');
break;
default:
echo "Erreur";

}
?>

Il vient d'ou le probleme ?

Merci

8 réponses

  1. ca me met une nouvelle case avec coucou d'ecrit dedans....

    mon script

    <?php
    if(isset($_POST['test']))
    echo $_POST['tet']."<BR>";
    else
    echo "rien<BR>";

    switch($_POST['cocktail_alcool'])
    {
    case 'eternite' : include ('eternite_imperiale.php');

    break;
    case 'amour' : include('cocktail_beaucoup_amour.php');
    break;
    case 'pina' : include('pina_colada.php');
    break;
    default : echo "erreur";
    }

    ?>
    1. Contributeur
      evidement mais qu'est-ce que ca te met quand tu envoie le formulaire (clique sur ton bouton submit).
  2. Contributeur
    essaie ca :
    <br><div class="titrechoix">Choix de vos cocktails avec alcool:</div> 
    <br><div class="textechoix">Choisissez votre cocktail :</div> 
    <br><form name="cocktail_alcool" action="cocktail_avec_alcoolchoix.php" method="post"> 
    <br><input type="text" name="test" value="coucou">
    <div class="choix"><input type="radio" name="cocktail_alcool" value="eternite">Eternité Impériale 
    <br><input type="radio" name="cocktail_alcool" value="amour">Cocktail Beaucoup d'amour 
    <br><input type="radio" name="cocktail_alcool" value="pina">Pina colada </div> 
    <br><br><div class="textechoix"><input type="submit" value="Aller à la recette"> </div> 
    </form> 
    
    


    Puis tu met au début de ton script ou ya le switch :
    if(isset($_POST['test']))
     echo $_POST['tet']."<BR>";
    else
     echo "rien<BR>";
    


    Et dit moi ce qu'il te marque.
    1. Voici le code qui appelle mon switch :

      <html>
      <head>
      <meta http-equiv="Content-Type"content="text/html; charset=iso-8859-1">
      <title>La cuisine par 3 Pome</title>
      <link rel="stylesheet" type="text/css"href="css.css" media="screen" title="">
      </head>
      <body>

      <br>
      <br><div class="titrechoix">Choix de vos cocktails avec alcool:</div>
      <br><div class="textechoix">Choisissez votre cocktail :</div>
      <br><form name="cocktail_alcool" action="cocktail_avec_alcoolchoix.php" method="post">
      <div class="choix"><input type="radio" name="cocktail_alcool" value="eternite">Eternité Impériale
      <br><input type="radio" name="cocktail_alcool" value="amour">Cocktail Beaucoup d'amour
      <br><input type="radio" name="cocktail_alcool" value="pina">Pina colada </div>
      <br><br><div class="textechoix"><input type="submit" value="Aller à la recette"> </div>
      </form>

      </body>

      </html>
      1. Contributeur
        et bien met voir le code qui appelle ton script du haut stp (dans le cas ou ca ne marche pas).
        1. oui j'ai le message "non renseigné" mais je vois pas ce que je dois faire...
          Le lien vers mes trois pages marche bien
          mais pas le message d'erreur.

          les balise "include" ne change rien.
          1. en mettatn des balises include ca marche pas.

            sinon oui ca me marque "non renseigne" mais je vois pas ce que je dois faire car dans les autres cas mes 3 pages s'affiche bien.

            c juste le message d'erreur qui va pas

            merci
            1. essai de mettre tes include dans un bloc, comme ça:

               <?php
              switch ($_POST['cocktail_alcool'])
              {
              case 'eternite' : { include ('eternite_imperiale.php'); }
              break;
              case 'amour' : { include('cocktail_beaucoup_amour.php'); }
              break;
              case 'pina' : { include('pina_colada.php'); }
              break;
              default:
              echo "Erreur";
              }
              ?> 
              
              1. Contributeur
                l'erreur vient du fait que ta variable $_POST en contient pas l'index nommé 'cocktail_alcool'. Il faut que tu véréifie s'il est bien renseigné :
                Ajoute ca en début de code pour vérifié :
                if( isset( $_POST['cocktail_alcool']))
                  echo "renseigne<BR>";
                else
                  echo "non renseigne<BR>";
                

                Si le message "non renseigne" apparait tu sais ce qu'il te reste à faire...

                Et ense aux balises de code la prochaine fois, c'est plus lisible. merci