Как «$ _POST» вернуться на ту же страницу или на другую страницу результатов в php?

Я написал файл php Calculator.php, который отправляет результат в info.php , и я написал еще один php-файл – Calculator2.php, который публикует результаты на той же странице. Как я могу объединить их вместе? Я пытался поставить один за другим, и он не работает.

Calculator.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> 

Файл info.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; } ?> 

Calculator2.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; } ?> 

и с тем же info.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 } 

Вот аккуратное решение. Добавьте общий скрипт, который обрабатывает представление формы, а затем перенаправляет его с результатом туда, где это требуется.