PHP 运输费率计算


PHP Transportation Rate Calculations

我花了很长时间为我的工作网站创建一个PHP计算器,用于特殊需要的运输服务(穿梭巴士) 我已经设置了HTML和PHP,但我似乎无法让它工作。

这些是我需要弄清楚如何使PHP做的事情,所以我可以把它放在服务页面上。我似乎做不好。

恒定费率:30 分钟跨 50 美元额外套装费用:5% 征税

这是 HTML

<form method="get" action="calculationtable.php">
    <p>Time Traveled:
    <input type="text" name="hours" id="hours" />
    </p>
    <p>Transport Rate ($100/1hr):
    <input type="text" name="rate" id="rate" /><br /><br />
    <input type="submit" />
    </p>
</form>

和菲律宾比索

<?php
$hours = (int) $_GET["hours"];
$rate = (int) $_GET["rate"];
$overtime = max($hours - 40, 0);
$pay += $overtime * $rate * 1.5;
$pay += ($hours - $overtime) * $rate;
echo "Hours Traveled: " . $hours . "<br>";
echo "Transport rate (per hour): $" . number_format($rate, 2) . "<br>";
echo "Additional Hours: " . $overtime . "<br>";
echo "Your Total is: $" . number_format($pay, 2) . "<br>";
?>

有几件事,按照@AeroX所述初始化$pay。

(float)$pay = 0;

。然后递增它。另外,尽管PHP做得很好"弄清楚你的意思",但我选择不依赖它。即:

(int)$hours = 0;
(int)$rate = 0;
if(isset($_GET['hours']) && is_numeric($_GET['hours'])) $hours += filter_input(INPUT_GET, 'hours');
if(isset($_GET['rate']) && is_numeric($_GET['rate'])) $rate += filter_input(INPUT_GET, 'rate');

正如其他人提到的,打开错误报告进行调试。正如@AeroX所说,您需要先初始化变量,然后才能递增。

这是一个工作示例,其中添加了税收部分

$hours = 0.5;
$rate = 100;
$overtime = max($hours - 40, 0);
$pay = $overtime * $rate * 1.5;
$pay += ($hours - $overtime) * $rate;
$pay = $pay + ($pay * 0.05);
echo "Hours Traveled: " . $hours . "<br>";
echo "Transport rate (per hour): $" . number_format($rate, 2) . "<br>";
echo "Additional Hours: " . $overtime . "<br>";
echo "Your Total is: $" . number_format($pay, 2) . "<br>";