<?php
date_default_timezone_set('America/New_York');
function findInvestment($invest, $interest, $years) {
// calculate the future value
$future_value = $invest;
for ($i = 1; $i <= $years; $i++) {
$future_value = ($future_value + ($future_value * $interest *.01));
}
// apply currency and percent formatting
$investment_f = '$'.number_format($invest, 2);
$yearly_rate_f = $interest.'%';
$future_value_f = '$'.number_format($future_value, 2);
print("
<label>Investment Amount:</label>
<span>$investment_f</span><br>
<label>Yearly Interest Rate:</label>
<span>$yearly_rate_f</span><br>
<label>Number of Years:</label>
<span>$years</span><br>
<label>Future Value:</label>
<span>$future_value_f</span><br>
<h4>This calculation was done on " . date("m/d/Y").".
");
}
function printForm($print, $invest, $interest, $years) {
if ($print == TRUE) {
$invest = "";
$interest = "";
$years = "";
}
else {
if ( strlen($invest) == 0 ) { $error_message[] = 'Investment is a required field.'; }
else if ( !is_numeric($invest) ) { $error_message[] = 'Investment must be a valid number.';
$invest = ""; }
else if ( $invest <= 0 ) { $error_message[] = 'Investment must be greater than zero.'; }
elseif ( strlen($interest) == 0 ) { $error_message[] = 'Interest rate is a required field.'; }
else if ( !is_numeric($interest) ) { $error_message[] = 'Interest rate must be a valid number.';
$interest = ""; }
else if ( $interest <= 0 OR $interest > 15 ) { $error_message[] = 'Interest rate must be greater than zero and less than or equal to 15.'; }
elseif ( strlen($years) == 0 ) { $error_message[] = 'Years is a required field.'; }
else if ( !is_numeric($years) ) { $error_message[] = 'Years must be a valid number.';
$years = ""; }
else if ( $years <= 0 OR $years > 50 ) { $error_message[] = 'Years must be greater than zero and less than or equal to 50.'; }
// set error message to empty string if no invalid entries
else {
$printResults = 1;
$error_message = '';
}
}
print("
<!DOCTYPE html>
<html>
<head>
<title>Future Value Calculator</title>
<link href=\"main.css\" rel=\"stylesheet\" type=\"text/css\">
<meta charset=\"utf-8\">
</head>
<body>
<div id=\"content\">
<h1>Future Value Calculator</h1>");
if (!empty($error_message)) {
foreach($error_message as $msg) {
print("<p class=\"error\">$msg</p>");
}
}
else {
$invest = "";
$interest = "";
$years = "";
}
print("<form action=\"index.php\" method=\"post\">
<div id=\"data\">
<label>Investment Amount:</label>
<input type=\"text\" name=\"investment\" value=\"$invest\"><br>
<label class=\"clear\">Yearly Interest Rate:</label>
<input type=\"text\" name=\"interest_rate\" value=\"$interest\"><br>
<label class=\"clear\">Number of Years:</label>
<input type=\"text\" name=\"years\" value=\"$years\"><br>
</div>
<div id=\"buttons\">
<label class=\"clear\"> </label>
<input type=\"submit\" value=\"Calculate\" name=\"submit\"><br>
</div>
</form>");
if (!empty($_POST['submit']) AND !$error_message) {
findInvestment($_POST['investment'], $_POST['interest_rate'], $_POST['years']);
}
print("</div>
</body>
</html>
");
}
//if (empty($_POST['investment']) && empty($_POST['interest_rate']) && empty($_POST['years'])) {
// printForm(1, "", "", "");
//}
if (!empty($_POST['submit'])) {
printForm(0, $_POST['investment'], $_POST['interest_rate'], $_POST['years']);
}
else {
printForm(1, "", "", "");
}
?>
- Output for git.master, git.master_jit, rfc.property-hooks
- <!DOCTYPE html>
<html>
<head>
<title>Future Value Calculator</title>
<link href="main.css" rel="stylesheet" type="text/css">
<meta charset="utf-8">
</head>
<body>
<div id="content">
<h1>Future Value Calculator</h1><form action="index.php" method="post">
<div id="data">
<label>Investment Amount:</label>
<input type="text" name="investment" value=""><br>
<label class="clear">Yearly Interest Rate:</label>
<input type="text" name="interest_rate" value=""><br>
<label class="clear">Number of Years:</label>
<input type="text" name="years" value=""><br>
</div>
<div id="buttons">
<label class="clear"> </label>
<input type="submit" value="Calculate" name="submit"><br>
</div>
</form></div>
</body>
</html>
This tab shows result from various feature-branches currently under review by the php developers. Contact me to have additional branches featured.
Active branches
Archived branches
Once feature-branches are merged or declined, they are no longer available. Their functionality (when merged) can be viewed from the main output page
preferences:
44.05 ms | 403 KiB | 8 Q