2016-04-26 190 views
0

我有一段時間爲我的工作的網站創建一個PHP計算器爲特殊需要的運輸服務(穿梭巴士)我有HTML和PHP設置,但我似乎無法讓它工作。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

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

您可能需要改變第一個'$工資+ ='到'$支付='。不知道你是否可以在你用PHP聲明它之前增加一個變量。 – AeroX

+0

當我嘗試和處理任何我輸入PHP休息,並不給我一個迴應。 – cinematicme

回答

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