如何将信息从一个站点合并到另一个站点?

时间:2009-07-24 06:16:33

标签: php

假设我有两个网站www.a.com和www.b.com。网站www.a.com上有一份新闻通讯订阅表格,我需要将提交的信息合并到网站www.b.com,信息将包括订户的姓名,地址,时事通讯格式和电子邮件ID。有没有办法这样做。我正在使用PHP。

提前致谢

3 个答案:

答案 0 :(得分:0)

您可以使用SOAP,AJAX,XMLRPC和其他协议在两个站点之间传递数据。

答案 1 :(得分:0)

在www.a.com上的处理帖子数据的页面中,你可以做类似的事情:

$url = 'www.b.com/sub.php';
$fields = array( 
      'name' => urlencode( $_POST['name'] ),
      'address' => urlencode( $_POST['address'] ),
      'format' => urlencode( $_POST['format'] ),
      'emailid' => urlencode( $_POST['emailid'] )
         );

foreach($fields as $key=>$value) { $query .= $key.'='.$value.'&'; }
rtrim($query,'&');

$ch = curl_init();

curl_setopt( $ch, CURLOPT_URL, $url );
curl_setopt( $ch, CURLOPT_POST, count( $fields ) );
curl_setopt( $ch, CURLOPT_POSTFIELDS, $query );

curl_exec( $ch );
curl_close( $ch );

然后在www.b.com上就像常规的POST请求一样处理它。


信用:http://davidwalsh.name/execute-http-post-php-curl

答案 2 :(得分:0)

如果您只想让这两个网站分享信息,您有两种可能性:

  • 两者都可以随时访问相同的信息
    • 例如,使用相同的数据库
    • 这是最简单的方法,但也有缺点:这两个网站不再是独立的;如果数据库失败,两个站点都将关闭
  • 当对一个网站的数据进行修改时,它也会被发送到另一个网站
    • 这两个网站都有一份数据副本(这意味着如果一个网站关闭,另一个网站仍可以工作)
    • 你需要同步数据:当在A上进行修改时,A从B调用web服务(SOAP,REST,等等),告诉它“这是这个用户的新数据”(有一些超时,所以,如果B关闭,A仍然有效)
    • 这里的缺点是,在某一天或某一天,某些数据将无法同步(因为网络服务呼叫已“丢失”,或网站已暂停一段时间);因此,您可能需要每天或每周使用一次批处理来检查两个站点的数据。