1

我在网站 A 的 MySQL 表中保存了一个简单的表单。

我需要能够在网站 B、C、D、E 等网站上发布相同的表格。这些网站都没有托管在与网站 A 相同的服务器上。当表格更新时,其余网站上的表格网站也必须更新。

我尝试在网站 A 上创建一个页面,该页面查询数据库并显示表单。然后在网站 B 上,包括页面。我收到以下错误:

警告:include(): http:// wrapper 在服务器配置中被 allow_url_include=0 禁用

我知道 allow_url_include 可能被大多数网络主机关闭,所以我需要一种方法来规避这个并安全地包含我的表单。是使用 AJAX 还是 Javascript 的解决方案?你能指点一下如何做到这一点吗?

4

3 回答 3

1

如果您的表单位于 MySQL 数据库中,那么说它“保存在网站 A 上”是不准确的。无论您在网站 A 中拥有什么服务器端代码,都可能连接到localhost端口 3306 上的 MySQL 数据库以检索表单。

来自网站 BE 的代码也可以连接到服务器A 的端口 3306 上的 MySQL,如果该端口是开放的并且有一个 MySQL 用户可以远程连接。如果所有服务器都在同一个专用网络中,那可能没问题。否则,将 MySQL 端口对外开放是有安全风险的。您可以使用防火墙将与服务器 A 上端口 3306 的连接限制为仅服务器 BE。或者,您可以在服务器 A 上编写一个简单的 Web 服务,当通过 HTTP 调用时,它会从 MySQL 获取表单并返回表单 HTML,您可以从 Servers BE 异步调用该表单。

于 2013-01-28T00:54:41.957 回答
0

首先,AJAX 是通过使用 javascript 完成的,所以如果您使用 AJAX,您将使用 javascript。

然后,没有办法通过将表单直接嵌入到 html 中来做到这一点。我的建议是:

  • 创建一个 Web 服务,该服务返回您要包含在表单中的字段列表。
  • 创建一个 js 脚本,根据服务返回的信息动态构建表单。
  • 在您的 Web 服务中创建从表单接收信息的函数,或尝试将表单直接提交到您想要的 url(我不记得这是否可行)
  • 在所有页面中使用该脚本。

希望能帮助到你。

于 2013-01-28T00:54:41.560 回答
-1

你可以使用以下方法,你需要学习它们,因为这不是写教程的地方:

  1. 使用 curl/file_get_contents 获取在服务器端使用的 HTML。
  2. 在客户端使用<script>标签来包含来自您托管表单的服务器的文件
  3. 使用iframe
于 2013-01-28T00:54:17.820 回答