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


Simple future value calculator problems in php

我很难理解为什么我的php类程序不工作。我看了很多文档,我认为我包括它是正确的,但它说,在包括上打开流失败,当我调用这个函数时,它说它是未定义的,有人可以指出我这里可能非常简单的错误。这是我的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>

这里是INCLUDE

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

页面输出

警告:include(C:'xampp'htdocs'program1include.php):未能打开流:在C:'xampp'htdocs'program1php.php中没有这样的文件或目录在第2行

警告:include():打开'C:'xampp'htdocs'program1include.php'包含失败(include_path='.;C:'xampp'php'PEAR')在C:'xampp'htdocs'program1php.php .php第2行主要利率投资年数

未来价值:在C:'xampp'htdocs'program1php.php第16行

中调用未定义函数figureValue()

变量$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.';
    }
?>

尝试转义include,如

C:''xampp''htdocs''program1include.php

改变

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

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

如果两个文件在同一目录下,只使用文件名,而不是整个路径。

include 'program1include.php'

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

检查事项

两个文件在同一个目录下。每个文件的名称与上面的完全相同。(重命名为便于检查的名称)

Barmar是正确的。没有他的编辑,程序仍然不能运行。