PHP运输费率计算

时间:2016-04-26 17:04:26

标签: php calculator

我有一段时间为我的工作网站创建一个PHP计算器,用于特殊需要的交通服务(穿梭巴士)我已经设置了HTML和PHP,但我可以&#39似乎让它发挥作用。

这些是我需要弄清楚如何使PHP做的,所以我可以把它放在服务页面上。我似乎无法做到这一点。

恒定费率:Trans 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

<?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>";
?>

2 个答案:

答案 0 :(得分:0)

有几件事,按照@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');

答案 1 :(得分:0)

正如其他人所提到的,打开错误报告以进行调试。正如@AeroX所说,你需要在增加之前初始化变量。

以下是

中添加了税务部分的工作示例
trkpt