2010-01-18 42 views
-1

我对PHP很新。有人能指导我什么是错误的代码。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> 
+0

修复我和AndrewMurphey下面提到的错误,然后发布你得到的全部错误信息(它应该告诉我们行号)。 – 2010-01-18 07:17:19

回答

0

在你的代码中,我看到:

input type="test" 

这是错误的,它应该是:

input type="text" 

输入类型应该是文本,如果你的意思是一个文本框。

+0

感谢您的错字。仍然代码不能按预期工作 – 2010-01-18 07:08:56

0
$_POST['Currentage']==""; 
    $_POST['Retireage']==""; 

你检查是否$ _ POST [“Currentage”]等于“”,而不是将其设置为“”。你想要的是$_POST['Currentage'] = "";。你有$ _POST ['Retireage']的问题。

0

的事实,修改$ _ POST变量是不好的做法(只分配这些值的变量和使用,在您的代码)

  1. $ _ POST [“Currentage”] ==“”外面;应该是$ _POST ['Currentage'] ='';
  2. $ _POST ['Retireage'] ==“”;应该是$ _POST ['Retireage'] ='';
  3. 使用类似ヶ辆()总是逃避数据你吐之前到了Web浏览器,以保护您的网页从注射。这是非常重要的
+0

感谢您的建议。仍然缺少一些东西。 – 2010-01-18 07:09:28