Re: Division by 0

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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


[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux