Hello,
I'm pasting a php file below that is one of the exercises in PHP and MYSQL for Dynamic Web Sites. I'm referring to chapter 3, page 105 where Larry discusses returning values from a function.
Here is my question in a nutshell. When defining the function calculate_trip_cost three variable are set $miles, $mpg and $ppg. I don't understand how these variables work, where do the values come from? They aren't referred to again in the script. Could someone, bearing in mind that I'm new at this, explain it a little?
Any help would be so appreciated. I hate to move on without understanding it completely.
Thanks in advance, Steve.
The php is below:
<?php #Script 3.5 - calculator.php // This fucntion creates a radio button. // The function takes two arguments: the value and the name // The function alos makes the button "sticky". function create_radio($value, $name = 'gallon_price') { // Start the element: echo '<input type="radio" name="' .$name.'" value="' .$value.'"'; //Check for stickiness if (isset($_POST[$name]) && ($_POST[$name] == $value)) { echo 'checked="checked"'; } echo "/> $value"; } //End of create_radio()function //This function calculates the cost of the trip. //The funcion takes three arguments: the distance, the fuel efficiency and the price per gallon //The function returns the total cost. function calculate_trip_cost($miles, $mpg, $ppg) { // Get the number of gallons: $gallons = $miles/$mpg; // Get the cost of these gallons $dollars = $gallons/$ppg; //Return the formatted cost: return number_format($dollars, 2); } // End of calculate_trip_cost() function. $page_title = 'Trip Cost Calculator'; include ('includes/header.html'); // Check for form submission if ($_SERVER['REQUEST_METHOD'] == 'POST') { // Minimal Form Validation if (isset ($_POST['distance'], $_POST['gallon_price'], $_POST['efficiency']) && is_numeric($_POST['distance']) && is_numeric($_POST['gallon_price']) && is_numeric($_POST['efficiency'] ) ) { // Calculate the results $cost = calculate_trip_cost ($_POST['distance'], $_POST['efficiency'], $_POST['gallon_price']); $hours = $_POST['distance'] / 65; // Print the results echo '<h1> Total Estimated Costs </h1> <p>The total cost of driving '.$_POST['distance'].' miles, averaging' .$_POST['efficiency'] .' miles per gallon, and paying an average of $'.$_POST['gallon_price'].' per gallon, is $ '.$cost. '.If you drive at an average of 65 miles per hour, the trip will take approximately ' . number_format($hours, 2) . ' hours.</p>'; } else {//Invalid submitted values. echo '<h1>Error!</h1> <p class="error">Please enter a valid distance, price per gallon and fuel efficiency.</p>'; } } // End of main submission IF. ?> <h1>Trip Cost Calculator</h1> <form action="calculator.php" method="post"> <p>Distance (in miles): <input type="text" name="distance" value="<?php if (isset($_POST['distance'])) echo $_POST['distance'];?>"/></p> <p>Ave. Price Per Gallon: <span class="input"> <?php create_radio('3.00'); create_radio('3.50'); create_radio('4.00'); ?> </span></p> <p> Fuel Efficiency: <select name="efficiency"> <option value="10" <?php if (isset ($_POST['efficiency']) && ($_POST['efficiency'] == '10')) echo 'selected="selected"';?>>Terrible</option> <option value="20"<?php if (isset ($_POST['efficiency']) && ($_POST['efficiency'] == '20')) echo 'selected="selected"';?>>Decent</option> <option value="30"<?php if (isset ($_POST['efficiency']) && ($_POST['efficiency'] == '30')) echo 'selected="selected"';?>>Very Good</option> <option value="50"<?php if (isset ($_POST['efficiency']) && ($_POST['efficiency'] == '50')) echo 'selected="selected"';?>>Outstanding</option> </select></p> <p><input type="submit" value="Calculate!" /></p> </form> <?php include ("includes/footer.html"); ?>