Erreur Switch php message defaut

remib -  
kij_82 Messages postés 4089 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
A voir également:

8 réponses

kij_82 Messages postés 4089 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
sam3000 Messages postés 1225 Date d'inscription   Statut Membre Dernière intervention   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
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
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
kij_82 Messages postés 4089 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
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
kij_82 Messages postés 4089 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
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
kij_82 Messages postés 4089 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