2013-11-12 3 views
0

Привет, я пытаюсь сделать калькулятор. И у меня есть эта проблема: я пытаюсь сделать выбор, который я заставил его оставаться после отправки. Я нашел код в google для моего выбора, чтобы оставаться после отправки, но мой калькулятор больше не работает. Вы можете мне помочь ?Калькулятор выбор остается после отправки

вот код, когда мой калькулятор работает, но мой выбор Безразлично "т остается после того, как представить

<html> 
<body> 
<center> 
<form method="post"> 
    Food: 
     <Select name="Dropdown"><br> 
     <option>Cheese</option> 
     <option>Apple</option> 
     <option>Egg</option> 
     </select> 
     </br> 
    Amount: 
     <input name="amount" type="text">grams<br><br> 
     <br><input type="Submit" value="Calculate"> 
     <br><br> 


     <?php 
      $result=$_POST['result']; 
        $Dropdown=$_POST['Dropdown']; 
        $amount = $_POST['amount']; 

       switch ($Dropdown){ 
         case 'Cheese': 
         $result= (7.74 * $amount)/100; 
         echo "<p> $result </p>"; 

         break; 
         case 'Apple': 
         $result= (1.94 * $amount)/100; 
         echo "<p> $result </p>"; 

         break; 
         case 'Egg': 
         $result= (13.74 * $amount)/100; 
         echo "<p> $result </p>"; 

         } 
         ?> 
     </form> 
     </center> 
      </body> 
</html> 

и вот мой код, когда мой slection остается после того, как отправить, но мой калькулятор не будет работать

<html> 
<head></head> 
<body> 
<center> 
<?php 
if (!empty($_POST['Dropdown'])) { 
    $dropDownVal = $_POST['Dropdown']; 
} else { 
    $dropDownVal = 1; 
} 
?> 
<form method="post"> 
    <select name="Dropdown" > 
     <option value="1" <?php if ($dropDownVal==1) echo 'selected="selected"'; ?>>Cheese </option> 
     <option value="2" <?php if ($dropDownVal==2) echo 'selected="selected"'; ?>>Apple</option> 
     <option value="3" <?php if ($dropDownVal==3) echo 'selected="selected"'; ?>>Egg</option> 
    </select> 

    <?php 
      $result=$_POST['result']; 
      $Dropdown=$_POST['Dropdown']; 
      $amount = $_POST['amount']; 

       switch ($Dropdown){ 
         case 'Cheese': 
         $result= (7.74 * $amount)/100; 
         echo "<p> $result </p>"; 

         break; 
         case 'Apple': 
         $result= (1.94 * $amount)/100; 
         echo "<p> $result </p>"; 

         break; 
         case 'Egg': 
         $result= (13.74 * $amount)/100; 
         echo "<p> $result </p>"; 

         } 
         ?> 



    <input name="amount" type="text">grams<br><br> 
     <br><input type="Submit" value="Calculate"> 
</form> 
</center> 
</body> 
</html> 

Благодаря

ответ

3

Что вы получаете обратно в $ _POST [ «»] раскрывающийся это значение не содержание, так что вы получите 1 или 2 или 3, а не сыр или яблоко или яйцо.

Так попробуйте:

switch ($Dropdown){ 
    case 1: // Cheese 
     $result= (7.74 * $amount)/100; 
     break; 
    case 2: //Apple 
     $result= (1.94 * $amount)/100; 
     break; 
    case 3: // Egg 
     $result= (13.74 * $amount)/100; 
     break; 
    default: 
     $result = 0; 
    } 
    echo "<p> $result </p>"; 
?> 

В будущем, если вы не уверены в том, что в переменной, которая возвращается от пользователя сделать

echo '<pre>' . print_r($_POST, TRUE) . '</pre>'; 

, чтобы получить хороший дисплей массива на браузера. или a

var_dump($var); 
+0

Спасибо! Я попробую ! –

Смежные вопросы