Joseph My apologise for not writing sooner to thank you, you were of course correct. Thanks again. Gary "Joseph Thayne" <webadmin@xxxxxxxxxxxxx> wrote in message news:4B97E3A2.2030302@xxxxxxxxxxxxxxxx > Looks to me like you are closing your form before you put anything in it. > Therefore, the loan_amount is not set making the value 0. Follow the > math, and you are dividing by 1-1. > > Change this line: > > <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post"></form> > > to: > > <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post"> > > and you should be good to go. > > Joseph > > Gary wrote: >> I have a mortgage amortization script that was working fine,now it seems >> to have gone awry. Below is the entire script plus input page. I am >> getting an error >> >> Warning: Division by zero in >> /home/content/J/a/y/Jayski/html/one2one/Ricksrecursivefunctions.php on >> line 47 >> >> Which is (pow($intCalc,$totalPayments) - 1); >> >> Frankly I am not even sure the information is being passed to the script. >> >> Anyone see what I am missing? >> >> Gary >> >> >> <div id="onecol">Calculate your Loan</div> >> <div id="leftcontent"> >> >> <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post"></form> >> <table> >> <tr> >> <td style="background-color:#B1D8D8" width="110px">Loan Amount</td> >> <td><input name="loan_amount" type="text" size="25" /> USD</td> >> <td><a href="javascript:void(0);" onmouseover="Tip('This is the >> amount of money to be loaned.')" onmouseout="UnTip()"><img >> src="images/help.png" class="noborder"/></a></td> >> </tr> >> <tr> >> <td style="background-color:#B1D8D8" width="110px">Type of >> Loan</td> >> <td> >> <select name="type" size="1" id="type"> >> <option>Installment</option> >> <option>Balloon</option> >> </select></td> >> <td><a href="javascript:void(0);" onmouseover="Tip('This is the method >> of repayment.')" onmouseout="UnTip()"><img src="images/help.png" >> class="noborder"/></a></td> >> </tr> >> <tr> >> <td style="background-color:#B1D8D8" width="100px">Term of Loan</td> >> <td><input name="loan_term" type="text" size="5" /> >> </select>Months</td> >> <td><a href="javascript:void(0);" onmouseover="Tip('This is the amount >> of time that the money is loaned for.')" onmouseout="UnTip()"><img >> src="images/help.png" class="noborder" /></a></td> >> </tr> >> <tr> >> <td style="background-color:#B1D8D8" width="140px">Interest >> Rate</td> >> <td><input name="int_rate" type="text" size="10" /> Per >> Annum</td><td><a href="javascript:void(0);" onmouseover="Tip('Percentage >> (%) charged on loan on an annual basis. <br />Please see our FAQs for >> information on usury rates. <br />If no amount is entered this will be >> 0%.')" onmouseout="UnTip()"><img src="images/help.png" class="noborder" >> /></a></td> >> </tr> >> </table> >> <label> >> <input type="submit" name="submit" id="submit" value="submit" /> >> </label> >> </form> >> <?php >> >> function amortizationTable($paymentNum, $periodicPayment, $balance, >> $monthlyInterest) { >> $paymentInterest = round($balance * $monthlyInterest,2); >> $paymentPrincipal = round($periodicPayment - $paymentInterest,2); >> $newBalance = round($balance - $paymentPrincipal,2); >> print "<tr> >> <td>$paymentNum</td> >> <td>\$".number_format($balance,2)."</td> >> <td>\$".number_format($periodicPayment,2)."</td> >> <td>\$".number_format($paymentInterest,2)."</td> >> <td>\$".number_format($paymentPrincipal,2)."</td> >> </tr>"; >> # If balance not yet zero, recursively call amortizationTable() >> if ($newBalance > 0) { >> $paymentNum++; >> amortizationTable($paymentNum, $periodicPayment, $newBalance, >> $monthlyInterest); >> } else { >> exit; >> } >> } #end amortizationTable() >> >> # Loan balance >> $balance =($_POST['loan_amount']); >> >> # Loan interest rate >> $interestRate = ($_POST['int_rate']); >> >> # Monthly interest rate >> $monthlyInterest = ("$interestRate / 12"); >> >> # Term length of the loan, in years. >> $termLength =($_POST['loan_term']); >> >> # Number of payments per year. >> $paymentsPerYear = 12; >> >> # Payment iteration >> $paymentNumber =($_POST['loan_term']); >> >> # Perform preliminary calculations >> $totalPayments = $termLength * $paymentsPerYear; >> $intCalc = 1 + $interestRate / $paymentsPerYear; >> $periodicPayment = $balance * pow($intCalc,$totalPayments) * >> ($intCalc - 1) / >> (pow($intCalc,$totalPayments) - 1); >> $periodicPayment = round($periodicPayment,2); >> >> # Create table >> echo "<table width='50%' align='center' border='1'>"; >> print "<tr> >> <th>Payment >> Number</th><th>Balance</th> >> <th>Payment</th><th>Interest</th><th>Principal</th> >> </tr>"; >> >> # Call recursive function >> amortizationTable($paymentNumber, $periodicPayment, $balance, >> $monthlyInterest); >> >> # Close table >> print "</table>"; >> >> ?> >> </div> >> >> >> __________ Information from ESET Smart Security, version of virus >> signature database 4932 (20100310) __________ >> >> The message was checked by ESET Smart Security. >> >> http://www.eset.com >> >> >> >> >> >> > > __________ Information from ESET Smart Security, version of virus > signature database 4932 (20100310) __________ > > The message was checked by ESET Smart Security. > > http://www.eset.com > > > __________ Information from ESET Smart Security, version of virus signature database 4933 (20100310) __________ The message was checked by ESET Smart Security. http://www.eset.com -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php