php中简单的未来值计算器问题

时间:2013-04-17 21:06:19

标签: php

我无法理解为什么我的php程序无效。我已经浏览了很多文档,我认为我把它包括在内但是它说无法在include上打开流,当我调用函数时它说它未定义可能有人请指出我可能非常简单的错误。这是我的php页面

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<?php include 'C:\xampp\htdocs\program1include.php' ?>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Future Value Calculator</title>
</head>

<body>
<form method="post">
Principal <input type="text" name="principal" value="<?php if (isset($_POST['principal'])) echo $_POST['principal']; ?>"><br />
Interest Rate <input type="text" name="rate" value="<?php if (isset($_POST['rate'])) echo $_POST['rate']; ?>"><br />
Years to Invest <input type="text" name="years" value="<?php if (isset($_POST['years'])) echo $_POST['years']; ?>"><br />
<input type='submit' name='Submit' value='Get Future Value.' /><br />
Future Value:
<?php figureValue(); if(isset($futureValue)){
    echo $futureValue;
}
    else
    {
        echo 'Please Fill Out All Fields.';
    }
?>
</form>
</body>
</html>

这里包括

<?php 
    function figureValue($principal,$rate,$years){

        $futureValue = round($principal * pow(1 + ($rate/100),
        $years), 2);
    }
    ?>

页面输出

警告:include(C:\ xampp \ htdocs \ program1include.php):无法打开流:第2行的C:\ xampp \ htdocs \ program1php.php中没有此类文件或目录

警告:include():无法打开C:\ xampp \ htdocs \ program1 .php在第2行 主要 利率 投资年限

未来价值: 致命错误:在第16行的C:\ xampp \ htdocs \ program1php.php中调用未定义的函数figureValue()

3 个答案:

答案 0 :(得分:1)

变量$futureValue是函数的本地变量。在那里分配它不会在主程序中设置变量。你需要退货:

function figureValue($principal,$rate,$years){

    $futureValue = round($principal * pow(1 + ($rate/100), $years), 2);
    return $futureValue;
}

您还需要将$_POST参数作为参数传递给函数。

<?php if (isset($_POST['Submit']) { $futureValue = figureValue($_POST['principle'], $_POST['rate'], $_POST['years']);
    echo $futureValue;
}
    else
    {
        echo 'Please Fill Out All Fields.';
    }
?>

答案 1 :(得分:0)

尝试转义包含

C:\\xampp\\htdocs\\program1include.php

更改

<?php include 'C:\xampp\htdocs\program1include.php' ?>

<?php include 'C:\\xampp\\htdocs\\program1include.php'; ?>

答案 2 :(得分:0)

如果这两个文件位于同一目录中,只需使用文件名,而不是整个路径。

include 'program1include.php'

我完全复制了您的代码并更改了上面的一行,但未收到任何警告。 您不想在脚本中访问文件系统(c :)。

要检查的事项

两个文件都在同一目录中。 每个文件的名称与上面的名称完全一样。(将它们重命名为简单的内容以便检查)

巴马是正确的。没有他的编辑,程序仍然无法运行。