计算器选择在提交后保留

时间:2013-11-12 10:16:28

标签: php submit calculator

您好我正在尝试制作一个计算器。我遇到了这个问题:我正在尝试做出选择,让我在提交后留下来。我在谷歌上发现了一些代码供我选择留下,但我的计算器将不再有效。你能帮助我吗 ?

这是我的计算器工作时的代码,但我的选择在提交后不会停留

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

这是我的代码,当我的选择在提交后保留,但我的计算器将无法正常工作

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

由于

1 个答案:

答案 0 :(得分:3)

你在$ _POST ['Dropdown']中收到的是价值而不是内容,所以你会得到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>';

在浏览器上获得一个很好的数组显示。 或者

var_dump( $var );