# Loan Calculator

By Gary Taylor
on September 20, 2000

Version: 1.0

Type: Full Script

Category: Money

Description: Small payment calculator for loans of 40 years or less

```<html>
<body>
<?
/*
by Gary Taylor ([email protected]) of World Wide Classified, marketing
specialist, sales and hosting.  Soon offering low cost hosting providing
UNIX accounts supporting PHP3, MySQL, SSL, Ecommerce (no telnet access).
Inspired by William Lucking ([email protected]), where I found the
financial function. Thanks to Richard D Foerster for eliminating those

Working page at http://www.wwclass.com/Loans/loancalc.wwc

VARIABLES:

\$per = number of periods per year.  For instance, if you are
making payments monthly then this number is 12.
\$amount = total number of periods.  For instance, if you are compounding
monthly for 5 years, this number would be 60 (12 months x 5 years).
\$R = annual interest rate
\$principal = current principal of a loan
*/
error_reporting(0);

function PaymentCalc (\$per,\$amount,\$R,\$principal) {
\$Z = 1 / (1 + (\$R/\$per));
return ((1 - \$Z) * \$principal) / (\$Z * (1 - pow(\$Z,\$amount)));
}

// this echoes the input form to the browser

echo '<CENTER><H2>Courtesy of <A HREF="http://www.wwclass.com">World Wide
Classified</A></H2></CENTER>';

echo   "<FORM METHOD=POST ACTION="\$PHP_SELF">n";
echo   '<TABLE><TR><TD>';

echo   '<CENTER>Number of Payments<BR> (3 years = 36 payments)<BR>';
echo   '<INPUT TYPE="text" NAME="amount" VALUE="'.\$amount.  '"></TD>';
echo   '<TD VALIGN=BOTTOM><CENTER>Annual Interest Rate<BR>';
echo   '<INPUT TYPE="text" NAME="R" VALUE="'.\$R. '"></TD>';
echo   '<TD VALIGN=BOTTOM><CENTER>Amount Financed<BR>';
echo   '<INPUT TYPE="text" NAME="principal" VALUE="'.\$principal. '"></TD></TR>

echo   '<TR><TD COLSPAN=2><CENTER><INPUT TYPE="submit"
VALUE = "Press for Monthly Payment"><INPUT TYPE="reset"></FORM>';

\$pmt2= PaymentCalc(12,\$amount,\$R,\$principal);

echo   '<TD VALIGN=TOP><FORM METHOD=POST ACTION="http://wwclass.com/Loans/amor
echo   '<INPUT TYPE = HIDDEN NAME=amount VALUE="'.\$amount. '">';
echo   '<INPUT TYPE = HIDDEN NAME=R VALUE="'.\$R. '">';
echo   '<INPUT TYPE = HIDDEN NAME=principal VALUE="'.\$principal. '">';
echo   '<INPUT TYPE = HIDDEN NAME="Pmt2" VALUE="'.\$pmt2. '">';
echo   '<INPUT TYPE = submit VALUE = "Amortization Table">';
echo   '</TD></TR>';

if(\$R>1){  // To accept interest rate as whole number or /100
\$R=\$R/100;
}

// To strip out commas and dollar signs.
\$pattern= '/,/';
\$pattern2= '/\$/';
\$replace= '';
\$principal = preg_replace (\$pattern, \$replace, \$principal);
\$principal = preg_replace (\$pattern2, \$replace, \$principal);
if(\$R ==  ''){
\$R=0;
}
if(\$amount ==  ''){
\$amount=0;
}
if(\$principal ==  ''){
\$principal=0;
}

\$pmt= PaymentCalc(12,\$amount,\$R,\$principal);
\$Pmt = number_format(\$pmt, 2);  // To format into dollars and cents.

echo  '<TR><TD COLSPAN=2>';
echo  'Your Monthly payment will be: &nbsp; ';
print "<FONT SIZE=+2 COLOR=RED>\$\$Pmt</FONT>";
echo   '</TD></TR></TABLE></FORM>';

if(\$R ==  '0'){  // If they leave the interest rate blank
echo  "<H2><FONT COLOR=RED>Please enter interest rate</FONT></H2>n";
}
if(\$amount ==  '0'){  // If they leave number of payments blank
echo  "<H2><FONT COLOR=RED>Please enter how many payments</FONT></H2>n";
}
if(\$principal ==  '0'){  // If they leave amount financed blank
echo  "<H2><FONT COLOR=RED>Please enter amount financed</FONT></H2>n";
}

?>

</body>
</html> ```
﻿