Как получить содержимое страницы PHP на странице HTML? - PullRequest
1 голос
/ 14 марта 2019

Я пытаюсь реализовать следующую архитектуру на примере поиска четного / нечетного числа.Я использую клиент в качестве HTML-файла и веб-сервер в качестве PHP.

Simple HTTP Request enter image description here

["FindEO.html "] - HTML-файл показан ниже:

<!DOCTYPE html>
<html>

<body>
  <h3>Check Even/ODD Number</h3>
  <form method="get" action="http://192.168.0.103:81/DUNNO/eo.php">
    Enter number: <input type="text" name="fname">
    <input type="submit">
  </form>

</body>

</html>

["EO.php"] - PHP-файл выглядит следующим образом:

<?php
if ($_SERVER["REQUEST_METHOD"] == "GET") {
    $name = $_GET['fname'];
    $num = (int)$name;
    if (($num%2)==0) {
        echo "$name is Even";
    } else {
        echo "$name is Odd!";
    }   
} 
?>

Когда Файл HTML выполняется, он запрашивает ввод в виде:

enter image description here

После нажатия на кнопку отправки.Страница PHP отображается вместо отображения страницы PHP в файле HTML .

[В настоящее время отображается (PHPфайл):]

enter image description here

[Он должен отображать содержимое PHP в HTML-файле]

enter image description here

Итак, запрос отправляется из файла HTML на сервер PHP, и вместо получения ответа из файла PHP в файл HTML он показывает непосредственно сам файл PHP.

1) Возможно ли отобразить ожидаемый результат.(PHP обрабатывает вывод в HTML-файле)?

2) Предположим, я сохранил текущий код PHP в функции как:

<?php
function findeo($num){
    if (($num%2)==0) {
        echo "$name is Even";
    } else {
        echo "$name is Odd!";
    } 
}
if ($_SERVER["REQUEST_METHOD"] == "GET") {
    $name = $_GET['fname'];
    $num = (int)$name;
    findeo($num);
} 
?>

затемкак передать параметр (10 или любое число в $ num переменную) и вызвать функцию findeo () страницы PHP внутри HTML файл?

Кто-нибудь, пожалуйста, помогите мне реализовать клиент-серверную архитектуру или скажите, есть ли другой способ, где эта архитектура может работать с использованием HTML как клиент & PHP как сервер .

Ответы [ 2 ]

1 голос
/ 14 марта 2019

используйте javascript для отправки формы в php-файл и получения ответа.вот как бы я это сделал:

  function getAnswer(e) {
    e.preventDefault();
    var xhr = new XMLHttpRequest();
    xhr.open('GET', 'http://192.168.0.103:81/DUNNO/eo.php', true);
    xhr.responseType = 'text';

    xhr.onload = function () {
        if (xhr.readyState === xhr.DONE) {
            if (xhr.status === 200) {
                document.getElementById('answer').textContent = xhr.response;
            }
        }
    };
    
    xhr.onerror = function() {
      document.getElementById('answer').textContent = "Error...";
    }

    xhr.send(null);
  }
<!DOCTYPE html>
<html>

<body>
  <h3>Check Even/ODD Number</h3>
  <form method="get" onsubmit="getAnswer(event)">
    Enter number: <input type="text" name="fname">
    <input type="submit">
  </form>
  
  <div id="answer"></div>

</body>

</html>

с использованием protectDefault () остановит страницу от попыток отправки формы и позволит javascript самостоятельно выполнить запрос.Кроме того, я добавил div в ваш HTML, который будет содержать респон, данный вашим PHP-файлом.

0 голосов
/ 14 марта 2019

PHP не может изменять содержимое страницы после того, как она была передана в браузер. Однако это было бы тривиально с библиотекой JavaScript, такой как jQuery. или используя AJAX для вызова php-скрипта для обновления элемента. На StackOverFlow есть примеры: Изменение содержимого DIV с использованием ajax, php и jQuery

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