PHP валюта не определена в объеме - PullRequest
0 голосов
/ 18 января 2010

Я новичок в php. Может кто-нибудь, пожалуйста, сообщите мне, что не так с кодом.

<?php
    if(!isset($_POST['submit']) || $_POST['submit']!="calculate")
    {
       $_POST['Contrib']="";
       $_POST['Currentage']="";
       $_POST['Retireage']="";
       $Total =0;
       $AnnGain =7;
    }else{
       $AnnGain = $_POST['AnnGain'];
       $Years = $_POST['Retireage'] - $_POST['Currentage'];
       $YearCount = 0;
       $Total = $_POST['Contrib'];

       while ($YearCount < $Years)
       {
           $Total = (round($Total) *(1.0 + $AnnGain/100) +
               $_POST['Contrib']);
           $YearCount = $YearCount+1;

       }

    }
    ?>

           <b>A Retirement Saving calculator</b>


           <form action="<?php echo $_SERVER['PHP_SELF'];?>" method="post">
           <p> Your age now
           <input type="text" size = "5" name = "Currentage"
                  value="<?php echo $_POST['Currentage'];?>">
           <p> The age at which you want to retire
           <Input type="text" SIZE="6" name="Retireage"
                  value="<?php echo $_POST['Retireage']; ?>">
           <p> Annual Contribution
           <input type="text" size = "15" name = "Contrib"
                  value="<?php echo $_POST['Contrib'];?>">
           <p>Annual Return
           <input type = "text" size = "5" NAME = "AnnGain"
                  value="<?php echo$AnnGain; ?>">
           <BR><BR>
           <p><b>Nest Egg </b>: <?php echo $Total; ?>
           <p><Input type = "submit" Name = "submit" value = "calculate">
           </form>

Ответы [ 3 ]

0 голосов
/ 18 января 2010
   $_POST['Currentage']=="";
   $_POST['Retireage']=="";

Вы проверяете, равен ли $ _POST ['Currentage'] значению "" вместо того, чтобы установить его в "". То, что вы хотите, это $_POST['Currentage'] = "";. У вас та же проблема с $ _POST ['Выход на пенсию'].

0 голосов
/ 18 января 2010

за исключением того факта, что изменение переменных $ _POST является плохой практикой (просто присвойте эти значения переменной и используйте это в своем коде)

  1. $ _ POST [ 'Currentage'] == ""; должно быть $ _POST ['Currentage'] = '';
  2. $ _ POST [ 'Retireage'] == ""; должно быть $ _POST ['Retireage'] = '';
  3. ВСЕГДА избегайте данных, используя что-то вроде htmlentities (), прежде чем выложить их в веб-браузер, чтобы защитить свою страницу от инъекций. Это ОЧЕНЬ важно
0 голосов
/ 18 января 2010

В вашем коде я вижу:

input type="test"

Это неправильно, оно должно быть:

input type="text"

Тип ввода должен быть текстовым, если вы имеете в виду текстовое поле.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...