如何在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 文件给出的响应。
我正在尝试使用查找 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 文件给出的响应。