-2

在一个站点中www.example.com,我有一个表格。它被处理并存储在其数据库中。

是否可以将此表单数据也发送到另一个站点(www.client-site.com)?它位于不同的服务器上。这个客户站点应该接收数据并将其存储在自己的数据库中。

我不确定术语以及我应该一直在寻找什么。
在 SO 中测试了不同的搜索查询,这是最相似的:
[php] [mysql] +form +"$_post" +external

我想用 PHP 开发这个,数据库运行 MySQL,在这个数据事务中,安全性当然很重要。

并希望这不是SOAP问题... ;)

理由

  • www.example.com运行我的一个客户的迷你网站
  • www.client-site.com是客户端主站点
  • 作为一家大公司,他们无法向我提供其主站点数据库的凭据
  • 我必须提出一个替代解决方案
4

3 回答 3

2

如果您在 www.example.com 上托管了这样的表单:

<form method="post" action="http://www.client-site.com/handler.php">
    ...

然后页面http://www.client-site.com/handler.php将能够访问帖子变量。

这就是为什么在您自己的 PHP 应用程序中验证您的帖子数据很重要的原因,因为您永远无法确定数据来自哪里,因此无法信任它。

于 2012-11-19T16:22:42.877 回答
2

您将需要在站点 b 上拥有类似 web 服务(这是您正在寻找的词)之类的东西,您可以从站点 a 中的代码中使用它。

SOAP 是创建 Web 服务的一种可能性,但还有许多其他可能性。一个显示在stackoverflow的这个答案中。

永远不要尝试使用表单和 cURL 之类的东西来归档它!

此外,您应该在端点(站点 b)上寻找适当的授权,并确保使用 ssl,因为安全性对您很重要。

于 2012-11-19T16:23:10.823 回答
2

我能想到一个非常丑陋的解决方案来解决问题:)

   <script language="JavaScript">
function submitForm(theform) {
theform.action = "SITE ONE";
theform.target="myframe1";
theform.submit();

theform.target="";
theform.action = "SITE2";
theform.submit();

}
</script>

<html>
<body>
<form action="" onSubmit="submitForm(this); return false;">
<input type="text" name="userName" value="" />
<input type="Submit" />
</form>
<IFRAME name="myframe1" src="about:blank" width="0"
height="0"></IFRAME>
</body>
</html>

这不是那么传统,但会成功!看看这个 :)

于 2012-11-19T17:34:43.593 回答