[php]仅在客户端输出calculator的结果


[php]output results of calcualtor on client side only

客户端代码名称类似calc.php

<html>
<head>
</head>
</body>
<form action="TESTC.php" method="POST">

<input type="text" name="num1">
<select name="operator">
<option value="+">+</option>
<option value="-">-</option>
<option value="*">*</option>
<option value="/">/</option>
</select>

<input type="text" name="num2">
<input type="submit">
</form>
</body>
</html>

运行php代码的服务器端是TESTC.php

<?php
if(isset($_POST['num1']) && isset($_POST['num2']) && isset($_POST['operator'])) {
    $num1 = $_POST['num1'];
    $num2 = $_POST['num2'];
    $operator = $_POST['operator'];
    if (!empty($num1) && !empty ($num2) && !empty($operator)) {
    echo 'ok';
} else {
    echo 'Fill in all fields. ';
    }
}
 if ($operator=='+'){
        echo $num1."+".$num2."=<b>".($num1+$num2)."</b>";
    }
     if ($operator=='-'){
        echo $num1."-".$num2."=<b>".($num1-$num2)."</b>";
    }
     if ($operator=='/'){
        echo $num1."/".$num2."=<b>".($num1/$num2)."</b>";
    }
     if ($operator=='*'){
        echo $num1."*".$num2."=<b>".($num1*$num2)."</b>";
    }   
?>

我已经完成了这项工作,但我只能在服务器端输出这段代码。我不正确地理解如何在客户端页面"newCalc.php"上输出num1和num2中的两个表单的输出。有人能解释一下,一旦表单提交,我如何在一个页面上输出它,而不是向TESTC.php射击?我可以使用html代码和php在一个页面上获得html表单和php计算器代码。有人能帮忙吗?谢谢。

对不起,这正是你必须做的。

php不是客户端服务。如果您想在不向服务器发布和呈现新页面的情况下更新html,则需要javascript。

示例:

// form_template.php
<html><!-- show your form on this page -->
    <form action="calc.php">
    <?php if ($result) echo $result; ?>
// calc.php
<?php // get your POST stuff
    $result = $whatever;
    require_once('form_template.php');
// form.php
<?php // Do defaults here
    $result = false;
    require_once('form_template.php');

很抱歉地告诉您,但这不是它的工作方式,您应该做的是向php脚本发送一个ajax请求,更新将返回您查询和回复的答案。一开始可能看起来很难,但ajax可能是我学过的最有用的"语言"。尽管我非常讨厌w3schools.com,但他们确实有一个关于ajax及其与PHP关系的非常好的教程,你可以在这里找到它