erreur swicht ....

erreur swicht .... - PHP - Programmation

Marsh Posté le 17-05-2005 à 11:44:18    

bonjour j'ai le code suivant :
 
 <?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";  
  }  
  ?>
         
 
Mais quand il doit afficher "erreur", il m'affiche :
 
"Notice: Undefined index: cocktail_alcool in c:\program files\easyphp1-8\www\audrey3\cocktail_avec_alcoolchoix.php on line 13
erreur "
 
je vois pas où est l'erreur.
 
Merci d'avance pour votre aide.

Reply

Marsh Posté le 17-05-2005 à 11:44:18   

Reply

Marsh Posté le 17-05-2005 à 11:46:40    

Salut,
 
visiblement d'après l'erreur retournée, le tableau $_POST ne contient pas d'élément ayant pour clé 'cocktail_alcool'.  
 

Reply

Marsh Posté le 17-05-2005 à 11:47:10    

Ajoute un break après le default.

Code :
  1. <?php 
  2.  
  3.    switch ($_POST['cocktail_alcool'])
  4.   {
  5.   case 'eternite' :  include ('eternite_imperiale.php');
  6.    break;
  7.   case 'amour' : include('cocktail_beaucoup_amour.php');
  8.    break;
  9.   case 'pina' : include('pina_colada.php');
  10.    
  11.   break
  12.   default : echo "erreur"; 
  13. break;
  14.   } 
  15.   ?>

Reply

Marsh Posté le 17-05-2005 à 11:48:08    

normal, soit tu ajoutes :

Code :
  1. if (isset($_POST['cocktail_alcool']))
  2. {
  3. //ton switch...
  4. }


soit tu changes ton error_reporting pour virer les notices
(la première solution est plus propre)

Reply

Marsh Posté le 17-05-2005 à 12:10:04    

neonesc a écrit :

Ajoute un break après le default.


 
Inutile

Reply

Marsh Posté le 17-05-2005 à 12:47:57    

oui mais en mettant  
"Code :
 
if (isset($_POST['cocktail_alcool']))  
{  
//ton switch...  
}  
"
 
je me retrouve avec une page vide
j'ai plus le mot erreur...

Reply

Marsh Posté le 17-05-2005 à 13:41:21    

remib55 a écrit :

je me retrouve avec une page vide
j'ai plus le mot erreur...

normal avec l'erreur que tu avais... il faut que tu mettes ton echo "erreur" en dehors du switch...

Reply

Marsh Posté le 17-05-2005 à 14:00:10    

 
  <?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";
  ?>
 
 
Comme ca tu veux dire ?
 
si oui ca m'enleve mon mot erreur, et mais il me laisser tjs la phrase disant qu'il y a u pb ""Notice: Undefined index: cocktail_alcool in c:\program files\easyphp1-8\www\audrey3\cocktail_avec_alcoolchoix.php on line 27"

Reply

Marsh Posté le 17-05-2005 à 14:36:05    

t'as essayé de rempacer POST par GET?

Reply

Marsh Posté le 17-05-2005 à 14:53:52    

montre nous ton formulaire, le pb de notice on verra après

Reply

Marsh Posté le 17-05-2005 à 14:53:52   

Reply

Marsh Posté le 17-05-2005 à 14:55:21    

<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>

Reply

Marsh Posté le 17-05-2005 à 15:01:43    

remib55 a écrit :

Comme ca tu veux dire ?


heu non, si tu sors du switch, default ne fonctionnera plus...

Code :
  1. if (isset($_POST['cocktail_alcool']))
  2. {
  3. switch($_POST['cocktail_alcool'])
  4. {
  5.  case 'eternite' :  include ('eternite_imperiale.php'); break;
  6.  case 'amour' : include('cocktail_beaucoup_amour.php'); break;
  7.  case 'pina' : include('pina_colada.php'); break;
  8.  default : echo 'erreur'; break;
  9. }
  10. }
  11. else
  12. {
  13. echo 'erreur : choisissez votre cocktail';
  14. }


Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed