如何将表单数据发送到外部数据库并进行处理?

时间:2012-11-19 16:18:21

标签: php mysql

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

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

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

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

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

理由

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

3 个答案:

答案 0 :(得分:2)

如果您在www.example.com上托管的表单如下:

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

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

这就是为什么在自己的PHP应用程序中验证发布数据非常重要的原因,因为您无法确定数据的来源,因此无法信任它。

答案 1 :(得分:2)

您需要在网站b上找到类似网络服务的内容(这是您要查找的字词),您可以在网站中的代码中使用该内容。

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

永远不要尝试使用表单和类似cURL的东西来存档!

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

答案 2 :(得分: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>

这不是那么传统,但会做到这一点! 检查出来:))