将值从PHP返回到HTML

时间:2012-07-14 06:43:05

标签: php html

编辑:我有两个文件,一个是HTML,另一个是PHP脚本。我正在制作一个简单的计算器。在我的HTML中,我有一个包含4个文本框的简单表单。 第一个文本框是一个数字。 第二个文本框是要执行的操作。 第三个文本框是第二个数字。 第四个文本框就是答案。 当用户单击计算按钮时,action属性会将HTML重定向到执行所有算法的PHP脚本。我希望PHP脚本将答案返回到我的HTML表单中的第四个文本框。

我该怎么做?

这是我的HTML代码。

<!DOCTYPE html>
<html>
<head>
<meta name = "description" content = "This is a home page"/>
<meta name = "author" content = "William Salazar" />
<meta name = "keywords" content = "exercise for home page"/>
<title>Calculator</title>
</head>
<body>
    <fieldset>
        <legend>Calculator</legend>
        <form action = "calculate.php" method = "post">
            Please type in two numbers and an operation (ex: 2 + 3)<br/>
            <input type = "text" name = "fNum" size = "2"/>
            <input type = "text" name = "op" size = "2"/>
            <input type = "text" name = "sNum" size = "2"/>=
        <input type = "text" name = "ans" size = "2" readonly = "read" value = "<?php echo htmlspecialchars($ans);?>"/>
            <br/><br/>
            <input type = "submit" value = "Calculate"/>
        </form>
    </fieldset>
</body>
</html>

这是我的PHP脚本的代码。

<?php
function addition()
{

    $sum = (float)$_POST['fNum'] + (float)$_POST['sNum'];
    $_POST['ans'] = (string)$sum;   
    "<form action ='CalculatorForm.php' method = 'post'>"
    "</form>"
}


    switch($_POST['op'])
    {
        case '+':           
            addition();         
        break;
        case '-':
            subtraction();
        break;
        case '*':
            multiplication();
        break;
        case '/':
            division();     
        break;
        case '^':
            power();
        break;
        default:
        break;
    }

?>

当然我还没有完成其他功能。我最初试图测试我的添加功能,如果有效,我就是复制并粘贴代码。

2 个答案:

答案 0 :(得分:1)

使用AJAX将数据从HTML发送到PHP并返回 此外,您可以使用Javascript进行所有计算。

答案 1 :(得分:0)

如果这是一个家庭作业问题,那么继续使用您的代码,否则使用AJAX或JAVASCRIPT解决方案。

一些提示,如果您希望继续使用经典表单提交解决方案:

  • 使用一页显示和计算,例如calculator.php
  • 将您的表单操作设置为同一页面calculator.php或删除操作以调用同一页面。
  • 提交后,按上述方法进行计算,将结果传递给$ans,因为您使用此var来呈现表单。
  • 如果您还有问题,请回到这里。