2015-01-17 68 views
0

我有问题,并没有明确回答我。

是否可以将$ _POST数据从domain2.com发送到domain1.com?

实施例:

脚本上domain2.com

<form method="post" action="http://domain2.com"> 
<input type="hidden" name="data" value="1" /> 
<input type="submit" value="send" /> 
</form> 

脚本上domain1.com

<?php var_dump($_POST); ?> 

的domain2.com为domain1的别名.com和所有脚本和数据都在domain1.com上。 我有问题赶上$ _POST数据。

任何信息或链接帮助我,感谢所有。

+0

您可以用PHP卷曲做到这一点,例如 - http://stackoverflow.com/questions/2138527/php-curl-http -post-sample-code –

+1

http://stackoverflow.com/questions/298745/how-do-i-send-a-cross-domain-post-request-via-javascript – Jamie

回答

1
<form method="post" action=""> 
<input type="hidden" name="data" value="1" /> 
<input type="submit" value="send" /> 
</form> 

//提取数据($ _POST);

//set POST variables 
$url = 'http://domain2.com/get-post.php'; 
$fields = array(
         'data' => urlencode($data), 

       ); 

//url-ify the data for the POST 
foreach($fields as $key=>$value) { $fields_string .= $key.'='.$value.'&'; } 
rtrim($fields_string, '&'); 
//open connection 
$ch = curl_init(); 

//set the url, number of POST vars, POST data 
curl_setopt($ch,CURLOPT_URL, $url); 
curl_setopt($ch,CURLOPT_POST, count($fields)); 
curl_setopt($ch,CURLOPT_POSTFIELDS, $fields_string); 

//execute post 
$result = curl_exec($ch); 

//close connection 
curl_close($ch); 

使用此代码我使用卷曲发送POST数据域2

+1

我认为这是最好的解决方案,但我更容易。重定向到基本域。不漂亮,但有效。在安全情况下:CSRF,令牌 – Maximi

1

是的,它是可能的,要做到这一点,你应该在接收域的你的PHP文件的顶部添加此:从岗位 提取

header("access-control-allow-origin: *"); 
+0

我试了一下,谢谢先生。 – Maximi

+0

这个工作只对我用JavaScript。 – Maximi