在多个网页中包含相同的表单

时间:2013-01-28 00:48:12

标签: php javascript mysql ajax

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

我需要能够在网站B,C,D,E等上发布相同的表单。这些网站都不会与网站A在同一台服务器上托管。当表单更新时,表单上其他网站也必须更新。

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

  

警告:include():http://在服务器中禁用了包装器   配置by allow_url_include = 0

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

3 个答案:

答案 0 :(得分:1)

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

来自网站B-E的代码也可以通过服务器 A的端口3306连接到MySQL,如果该端口是打开的并且有一个可以远程连接的MySQL用户。如果所有服务器都在同一个专用网络中,那可能就行了。如果不是,那么向世界开放MySQL端口是一种安全风险。您可以使用防火墙将服务器A上的端口3306的连接限制为仅限服务器B-E。或者,您可以在服务器A上编写一个简单的Web服务,当通过HTTP调用时从MySQL获取表单并返回表单HTML,您可以从服务器B-E异步调用它。

答案 1 :(得分:0)

首先,使用javascript完成AJAX,所以如果你使用AJAX,你将使用javascript。

然后,通过直接在html中嵌入表单,无法做到这一点。我建议的是:

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

希望它有所帮助。

答案 2 :(得分:-1)

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

  1. 使用curl / file_get_contents在服务器端使用HTML。
  2. 使用客户端一侧的<script>标记,以包含您托管表单的服务器中的文件
  3. 使用 iframe