калькулятор — PHP Расчёт тарифов на перевозки

Я чертовски потратил время на создание калькулятора PHP для веб-сайта моей работы для службы перевозки для особых нужд (маршрутные автобусы). У меня настроен HTML и PHP, но я не могу заставить его работать.

Это то, что мне нужно, чтобы понять, как заставить PHP работать, поэтому я могу разместить его на странице сервисов. Я не могу понять это правильно.

Постоянная ставка: 50 долларов за 30 минут транс
Стоимость дополнительного набора: 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>";
?>

0

Решение

Пара вещей, инициализируйте $ pay, как указано @AeroX.

(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');
0

Другие решения

Как уже упоминалось, включите отчеты об ошибках для отладки. Как сказал @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>";
0

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector