2016-04-26 3 views
0

У меня есть ад, создающий калькулятор PHP для сайта моей работы для обслуживания транспортных услуг с особыми потребностями (челночные автобусы) У меня есть HTML и PHP, но я не могу показаться заставить его работать.Расчет скорости транспортировки 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>"; 
?> 
+2

Определение: «не могу заставить его работать» – Sammitch

+0

Вы, возможно, придется изменить первый '$ платить + =' в '$ pay = '. Не уверен, что вы можете увеличивать переменную до того, как вы ее объявили на PHP или нет. – AeroX

+0

Когда я пытаюсь обрабатывать все, что я ввожу PHP, и не дает ответа. – cinematicme

ответ

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