Как разделить HTML-код и PHP-код и получить тот же эффект, когда я запускаю код? - PullRequest
0 голосов
/ 11 мая 2019

Я делаю калькулятор для веб-сайта.У меня есть php и html-код в одном и том же файле, но мне нужно поместить их в отдельные файлы (требование для моего курса).Я попытался использовать <form action = "cal.php">, и хотя он работает, он помещает результат на другую страницу, а не в точное место на экране, я хочу, чтобы он отображался.

<!DOCTYPE html>

<html>

<head>
  <meta charset="UTF-8">

  <title>Something</title>
</head>

<body>

  <form>
    <input type="text" name="num1" placeholder="Tal 1">

    <input type="text" name="num2" placeholder="Tal 2">

        <select name="operator"><!-- used to choose which operator to calculate with from the php code -->

            <option>Operation One</option> <!-- add -->

            <option>Operation Two</option> <!-- sub -->

        </select>

    <br>

    <button type="submit" name="submit" value="submit">Calculate </button>

  </form>

  <p>Result: </p>
  <!-- php code -->

</body>


</html>

Если у меня есть код в том же файле, я получаю ответ на той же странице и точно после "Result:", но когда я разделяю их, ответ печатается нановая пустая страница и в углу.Как получить такой же эффект, как если бы они были в одном файле?

Ответы [ 2 ]

0 голосов
/ 11 мая 2019

Попытались ли вы обновить результат кнопки как ссылку, указав target, указывающую на _self?

Пример:

<a href="#" target="_self">
    <button type="submit" name="submit" value="submit">Calculate </button>
<a/>

Возможно событие - атрибут _topНапример:

<a href="#" target="_top">
    <button type="submit" name="submit" value="submit">Calculate </button>
<a/>

Или даже добавьте JavaScript на <button> или <a>:

1-й способ:

<a href="#" onclick="window.open('your_html', '_self')"> <!-- or change to _top -->
    <button type="submit" name="submit" value="Submit">Calculate</button>
</a>

2-й способ:

<a href="#">
    <button type="submit" name="submit" value="Submit" onclick="window.open('your_html', '_self')">Calculate</button> <!-- or change to _top -->
</a>
0 голосов
/ 11 мая 2019

Простой способ сделать это - смешать PHP с HTML. Не лучший способ, потому что вы должны отделить логику от Template / Output. Для этого вам помогут PHP Templating Enginges.

Если вы начинаете с PHP, то сработает следующее. Возможно, необходимо изменить файл, заканчивающийся на .html, на .php, но это зависит от конфигурации вашего веб-сервера.

<?php 

//include your file calc.php to access the functions, see https://php.net/require
require 'calc.php';

// do your fancy stuff an set your calculation result
$result = ...
?>
<!DOCTYPE html>

<html>

<head>
  <meta charset="UTF-8">

  <title>Something</title>
</head>

<body>

  <form action="" method="get">
    <input type="text" name="num1" placeholder="Tal 1">

    <input type="text" name="num2" placeholder="Tal 2">

        <select name="operator"><!-- used to choose which operator to calculate with from the php code -->

            <option>Operation One</option> <!-- add -->

            <option>Operation Two</option> <!-- sub -->

        </select>

    <br>

    <button type="submit" name="submit" value="submit">Calculate </button>

  </form>

  <p>Result: </p>
  <!-- php code -->

  <?php echo $result; ?>

</body>


</html>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...