如何在HTML页中获取PHP页的内容?

How to retrieve the contents of PHP page in HTML page?

我正在尝试使用查找 even/odd 号码的示例来实现以下体系结构。我将客户端用作 HTML 文件,将 Web 服务器用作 PHP.

["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文件时,要求输入为:

点击提交按钮后。 显示 PHP 页面而不是显示 PHP 页面的内容 HTML 文件.

[ 当前显示(PHP 文件):]

[ 它应该在 HTML 文件中显示 PHP 内容]

因此,请求从 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 变量)并调用 [= HTML 文件中 PHP 页面的 61=]findeo() 函数?

有人请帮助我实现客户端-服务器架构,或者告诉我是否有任何其他方式可以使用 HTML 作为 客户端 & PHP 作为服务器.

PHP 无法在将页面内容提供给浏览器后修改该页面的内容。然而,对于 JavaScript 库(例如 jQuery),这将是微不足道的。或者使用 AJAX 调用 php 脚本来更新元素。 Whosebug 上有这样的示例:Change DIV content using ajax, php and jQuery

使用 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>

使用 preventDefault() 将阻止页面尝试提交表单,并允许 javascript 自行执行请求。 另外,我在你的 HTML 中添加了一个 div,它将保存你的 PHP 文件给出的响应。