Я написал файл 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 }
Вот аккуратное решение. Добавьте общий скрипт, который обрабатывает представление формы, а затем перенаправляет его с результатом туда, где это требуется.