Indique moi le probleme ici "PHP"

tjravril Messages postés 14 Statut Membre -  
tjravril Messages postés 14 Statut Membre -
Bonjour,

pouvez m'aidé pour savoir ou est le probleme dans se code php
<html>
<body>
<table border="6">
<tr>
<td>
<b>Entree</b></td><td><b>Prix</b></td><td><b>Plats</td><td><b>Prix</td><td><b>Dissert</td><td><b>Prix</td></b></tr>
<tr><td>Salade Marocain</td><td>12dh</td><td>Couscous</td><td>25dh</td><td>banane</td><td>9dh</td></tr>
<tr><td>Salade Nicoise</td><td>15dh</td><td>Pizza</td><td>40dh</td><td>banane+Pomme</td><td>12dh</td></tr>
<tr><td>Salade Francaise</td><td>17dh</td><td>Poulet</td><td>30dh</td><td>slade fruit</td><td>15dh</td></tr>
</table>

</body>
</html>

<?php

$cmd='';
$cmd2='';
$cmd3='';
$cmd1='';
if(isset($_POST['valider']))
{
$n1=$_POST['n1'];
$n2=$_POST['n2'];
$n3=$_POST['n3'];
$entre=$_POST['entre'];
$plats=$_POST['plats'];
$dissert=$_POST['dissert'];
//$cmd=$_POST['cmd'];
}
switch ($entre)
{
case 1:$cmd1=$n1*12;break;
case 2:$cmd1=$n1*15;break;
case 3:$cmd1=$n1*17;

}
$cmd=$cmd1+$cmd2+$cmd3;
switch ($plats)
{
case 1 : $cmd2=$n2*25;break;
case 2 : $cmd2=$n2*40;break;
case 3 : $cmd2=$n2*30;

}
$cmd=$cmd1+$cmd2+$cmd3;
switch ($dissert)
{
case 1:$cmd3=$n3*9;break;
case 2:$cmd3=$n3*12;break;
case 3:$cmd3=$n3*15;

}
$cmd=$cmd1+$cmd2+$cmd3;
echo "<form method='POST' action=''>
Entre<select name='entre'>
<option>Salade Marocain
<option>Salade Necoise
<option>Salade Francaise
<input type='text' name='n1' value='1'>personne<br>
Plats<select name='plats'>
<option>Couscous
<option>Pizza
<option>Poulet
<input type='text' name='n2' value='1'>personne<br>
Dissert<select name='dissert'>
<option>Banane
<option>Banane+Pomme
<option>Salade Fruits
<input type='text' name='n3' value='1'>personne<br>
<input type='Submit' name='valider' value='valider'>
<br><br><br>
la Somme est : $cmd
</form>
";

?>
Configuration: Windows XP
Internet Explorer 7.0

3 réponses

  1. Moua
     
    Salut,
    A première vue, je ne vois aucune erreur de PHP, dis-nous quel est le message d'erreur s'il te plait...

    Un petit conseil, tu répète plein de fois "$cmd=$cmd1+$cmd2+$cmd3;"
    alors que tu pourrais tous les enlever sauf le dernier, ca ne sert à rien de calculer entre chaque "switch"
    car tu ne te sers de "$cmd" qu'à la toute fin...
    0
    1. tjravril Messages postés 14 Statut Membre 2
       
      salut ,
      merci pour ta gentillesse voila le message d'erreur


      Notice: Undefined variable: entre in c:\program files\easyphp1-8\www\base1\menu.php on line 32

      Notice: Undefined variable: plats in c:\program files\easyphp1-8\www\base1\menu.php on line 40

      Notice: Undefined variable: dissert in c:\program files\easyphp1-8\www\base1\menu.php on line 48
      0
      1. tjravril Messages postés 14 Statut Membre 2 > tjravril Messages postés 14 Statut Membre
         
        ligne 32

        switch ($entre)
        ligne 40

        switch ($plats)


        ligne 48

        switch ($dissert)
        0
  2. Alain42
     
    Bonjour,
    il faut que tu déplaces la fin } de ta condition if(isset($_POST['valider']

    car tu défini ces variables ($entre etc..) la et tu les utilises en dehors et ça c'est pas bon

    essayes comme ça:

    <html>
    <body>
    <table border="6">
    <tr>
    <td>
    <b>Entree</b></td><td><b>Prix</b></td><td ><b>Plats</td><td><b>Prix</td><td><b>Dissert& lt;/td><td><b>Prix</td></b></tr>
    <tr><td>Salade Marocain</td><td>12dh</td><td>Couscous</td><td>25dh< ;/td><td>banane</td><td>9dh</td></tr>
    <tr><td>Salade Nicoise</td><td>15dh</td><td>Pizza</td><td>40dh</td ><td>banane+Pomme</td><td>12dh</td></tr>
    <tr><td>Salade Francaise</td><td>17dh</td><td>Poulet</td><td>30dh< /td><td>slade fruit</td><td>15dh</td></tr>
    </table>
    
    </body>
    </html>
    
    
    <?php
    
    $cmd='';
    $cmd2='';
    $cmd3='';
    $cmd1='';
    if(isset($_POST['valider']))
    {
    $n1=$_POST['n1'];
    $n2=$_POST['n2'];
    $n3=$_POST['n3'];
    $entre=$_POST['entre'];
    $plats=$_POST['plats'];
    $dissert=$_POST['dissert'];
    //$cmd=$_POST['cmd'];
    
    switch ($entre)
    {
    case 1:$cmd1=$n1*12;break;
    case 2:$cmd1=$n1*15;break;
    case 3:$cmd1=$n1*17;
    
    }
    
    switch ($plats)
    {
    case 1 : $cmd2=$n2*25;break;
    case 2 : $cmd2=$n2*40;break;
    case 3 : $cmd2=$n2*30;
    
    }
    
    switch ($dissert)
    {
    case 1:$cmd3=$n3*9;break;
    case 2:$cmd3=$n3*12;break;
    case 3:$cmd3=$n3*15;
    
    }
    $cmd=$cmd1+$cmd2+$cmd3;
    echo "<form method='POST' action=''>
    Entre<select name='entre'>
    <option>Salade Marocain
    <option>Salade Necoise
    <option>Salade Francaise
    <input type='text' name='n1' value='1'>personne<br>
    Plats<select name='plats'>
    <option>Couscous
    <option>Pizza
    <option>Poulet
    <input type='text' name='n2' value='1'>personne<br>
    Dissert<select name='dissert'>
    <option>Banane
    <option>Banane+Pomme
    <option>Salade Fruits
    <input type='text' name='n3' value='1'>personne<br>
    <input type='Submit' name='valider' value='valider'>
    <br><br><br>
    la Somme est : $cmd
    </form>
    ";
    }
    ?>
    
    
    0
    1. tjravril Messages postés 14 Statut Membre 2
       
      bonsoir
      merci pour ton aide mais si on met } a la fin du programmes il va rien donné
      de cette condition if(isset($_POST['valider'] ))

      la button valider va etre invisible pour l'utilisateur et sa va rien donné
      0
  3. Alain42
     
    Bonjour,

    Ok alors tu gardes ton script , mais tu rajoutes avant le if(isset(......

    $entre="";
    $plats="";
    $dissert="";
    


    ça initialisera tes variables
    0
    1. tjravril Messages postés 14 Statut Membre 2
       
      bonjour
      merci ils manque quelques acolades
      0