douying6206 2013-09-01 00:11
浏览 28
已采纳

未定义的变量错误

I am trying to create a simple program that calculates the amount of calories and pounds burned for 3 activities, biking, jogging, and swimming. I keep getting the an error Undefined variable: calcPounds.

I have the variable inside the function, but it's still telling me it's undefined. I just started PHP this week so I'm a bit confused still.

Thank you!

PHP

function pounds_burned($calc){

    $biking = 200;
    $jogging = 475;
    $swimming = 275;
    $calories;
    $pounds = 3500;
    $calcPounds;       // **** ASSIGNMENT MISSING HERE ****

    $hoursBiking = floatval($_GET["bike"]);
    $hoursJogging = floatval($_GET["jog"]);
    $hoursSwimming = floatval($_GET["swim"]);

    if (!is_numeric($hoursBiking) or !is_numeric($hoursJogging) or !is_numeric($hoursSwimming)) {
        echo 'Enter numeric values only' . "<br />";
    }

    if (empty($hoursBiking) or empty($hoursJogging) or empty($hoursSwimming)) {
        echo "All fields are required to be valid numbers!!";
        echo "<p><a href=\"calories.html\">Try again?</a></p>
";
    }
    else {  
        $calcPounds = round(($biking * $hoursBiking) + 
            ($jogging * $hoursJogging) + ($swimming * $hourssSwimming));
    }
  }
    echo "Number of pounds worked off is " . round($calcPounds);

    $calories = $calcPounds / $pounds;
    echo "Number of calories burned is " .round($calories);
  ?>

HTML

<form action="calorie_calc.php" method="GET" onsubmit="return validateForm()">

  <table border="0">
  <tr>
    <td>Enter number of hours bicycling</td>
    <td><input type="text" name="bike" id="bike" size = "10" /></td>
  </tr>  
  <tr>
    <td>Enter number of hours jogging</td>
    <td><input type="text" name="jog" id="jog" size = "10" /></td>
  </tr>     
  <tr>
   <tr>
     <td>Enter number of hours swimming</td>
     <td><input type="text" name="swim" id="swim" size = "10" /></td>
  </tr>
    <td><input type="submit" name="calc" id="calc" value="Compute Pounds" /></td>
    <td><input type="reset" name="resetButton" id="resetButton" value="Reset" /></td>
  </tr>             
  </table>

  </form>
  • 写回答

3条回答 默认 最新

  • douhu2370 2013-09-01 00:49
    关注

    In your file calorie_calc.php

    <?php
    
    if (isset($_GET["calc"])){
        $biking = 200;
        $jogging = 475;
        $swimming = 275;
        $calories = 0;
        $pounds = 3500;
        $calcPounds = 0;
    
        $hoursBiking = floatval($_GET["bike"]);
        $hoursJogging = floatval($_GET["jog"]);
        $hoursSwimming = floatval($_GET["swim"]);
    
        if (!is_numeric($hoursBiking) or !is_numeric($hoursJogging) or !is_numeric($hoursSwimming)) {
            echo 'Enter numeric values only' . "<br />";
        }
    
        if (empty($hoursBiking) or empty($hoursJogging) or empty($hoursSwimming)) {
            echo "All fields are required to be valid numbers!!";
            echo "<p><a href=\"calories.html\">Try again?</a></p>
    ";
        }
        else {  
            $calcPounds = round(($biking * $hoursBiking) + 
                ($jogging * $hoursJogging) + ($swimming * $hourssSwimming));
        }
        echo "Number of pounds worked off is " . round($calcPounds);
    
        $calories = $calcPounds / $pounds;
        echo "Number of calories burned is " .round($calories);
    }
    ?>
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?