Erreur Switch php message defaut

remib -  
kij_82 Messages postés 4102 Date d'inscription   Statut Contributeur Dernière intervention   -
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. kij_82 Messages postés 4102 Date d'inscription   Statut Contributeur Dernière intervention   857
     
    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
    0
  2. sam3000 Messages postés 1226 Statut Membre 144
     
    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";
    }
    ?> 
    
    0
  3. remib
     
    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
    0
  4. remib
     
    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.
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. kij_82 Messages postés 4102 Date d'inscription   Statut Contributeur Dernière intervention   857
     
    et bien met voir le code qui appelle ton script du haut stp (dans le cas ou ca ne marche pas).
    0
  7. remib
     
    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>
    0
  8. kij_82 Messages postés 4102 Date d'inscription   Statut Contributeur Dernière intervention   857
     
    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.
    0
  9. remib
     
    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";
    }

    ?>
    0
    1. kij_82 Messages postés 4102 Date d'inscription   Statut Contributeur Dernière intervention   857
       
      evidement mais qu'est-ce que ca te met quand tu envoie le formulaire (clique sur ton bouton submit).
      0