如何在 php 中“$_POST”返回到同一页面或不同的结果页面


How to '$_POST' back to the same page or to a different result page in php?

我写了一个php文件计算器.php将结果发布到info.php,我写了另一个php文件 - Calculator2.php将结果发布到同一页面。如何将它们组合在一起?我试图一个接一个地放,但它不起作用。

计算器.php

<FORM action="info.php" method="post">
<P>
<LABEL for="firstNum">First Number: </LABEL>
<INPUT type="text" name="firstNum" id="firstNumberLabel"><BR>
<LABEL for="secondNum">Second Number: </LABEL>
<INPUT type="text" name="secondNum" id="secondNumberlabel"><BR>
<INPUT type="radio" name="calc" value="1"> Add<BR>
<INPUT type="radio" name="calc" value="2"> Subtract<BR>
<INPUT type="radio" name="calc" value="3"> Multiply<BR>
<INPUT type="radio" name="calc" value="4"> Divide<BR>
<INPUT type="submit" value="Send">
<INPUT type="reset">
</P>
</FORM>

信息.php文件

<?php
switch ($_POST["calc"]){
case "1":
 echo "Result: ", $_POST['firstNum']+$_POST['secondNum'], "<br>";
 break;
case "2":
 echo "Result: ", $_POST['firstNum']-$_POST['secondNum'], "<br>";
 break;
case "3":
 echo "Result: ", $_POST['firstNum']*$_POST['secondNum'], "<br>";
 break;
case "4":
 echo "Result: ", $_POST['firstNum']/$_POST['secondNum'], "<br>";
 break;
default:
 break;
}
?>

计算器2.php

<form action= <?php echo $_SERVER['PHP_SELF'] ?> method="post">
    <label for="text_field">First Number: </LABEL>
    <input type="text" name="user_text" id="text_field"><BR>
    <label for="text_field2">Second Number: </LABEL>
    <input type="text" name="user_text2" id="text_field2"><BR>
 <input type="submit" value="Add">
 </form>
 <?php
   if(isset($_POST['user_text'])&&isset($_POST['user_text2']))
   echo $_POST['user_text']+$_POST['user_text2'];
 ?>
<FORM action="info.php" method="post">
 <P>
 <LABEL for="firstNum">First Number: </LABEL>
 <INPUT type="text" name="firstNum" id="firstNumberLabel"><BR>
 <LABEL for="secondNum">Second Number: </LABEL>
<INPUT type="text" name="secondNum" id="secondNumberlabel"><BR>
<INPUT type="radio" name="calc" value="1"> Add<BR>
<INPUT type="radio" name="calc" value="2"> Subtract<BR>
<INPUT type="radio" name="calc" value="3"> Multiply<BR>
<INPUT type="radio" name="calc" value="4"> Divide<BR>
<INPUT type="submit" value="Send">
<INPUT type="reset">
</P>
</FORM>

<form action= <?php echo $_SERVER['PHP_SELF'] ?> method="post">
<label for="text_field">First Number: </LABEL>
<input type="text" name="firstNum" id="text_field"><BR>
<label for="text_field2">Second Number: </LABEL>
<input type="text" name="secondNum" id="text_field2"><BR>
<INPUT type="radio" name="calc" value="1"> Add<BR>
<INPUT type="radio" name="calc" value="2"> Subtract<BR>
<INPUT type="radio" name="calc" value="3"> Multiply<BR>
<INPUT type="radio" name="calc" value="4"> Divide<BR>
<INPUT type="submit" value="Send">

</form>

<?php
 switch ($_POST["calc"]){
case "1":
 echo "Result: ", $_POST['firstNum']+$_POST['secondNum'], "<br>";
 break;
case "2":
 echo "Result: ", $_POST['firstNum']-$_POST['secondNum'], "<br>";
 break;
case "3":
 echo "Result: ", $_POST['firstNum']*$_POST['secondNum'], "<br>";
 break;
case "4":
 echo "Result: ", $_POST['firstNum']/$_POST['secondNum'], "<br>";
 break;
default:
break;
}
?>

并且具有与以前相同的信息.php

<?php
 switch ($_POST["calc"]){
case "1":
 echo "Result: ", $_POST['firstNum']+$_POST['secondNum'], "<br>";
 break;
case "2":
 echo "Result: ", $_POST['firstNum']-$_POST['secondNum'], "<br>";
 break;
case "3":
echo "Result: ", $_POST['firstNum']*$_POST['secondNum'], "<br>";
 break;
case "4":
echo "Result: ", $_POST['firstNum']/$_POST['secondNum'], "<br>";
 break;
default:
 break;
}
?>

它的问题是我认为有很多重复的代码

在需要的地方将数据插入下面的括号中。

<?php
if(sizeof($_POST) == 0){
    // echo html here
}
else{
    // Perform php actions here
}

这是一个简洁的解决方案。添加一个处理表单提交的通用脚本,然后将其与结果重定向到任何需要的地方。