我当前的主机不允许远程mysql访问,所以我需要通过让server1上的script1与server2上的script2通信来解决这个问题。我正在尝试将post数据发送到script2,然后script2接收这些数据并将其放入mysql。为了使我的问题简单化,我将代码简化为:
脚本1

for ( $counter = $counternumbernao; $counter <= $amountofcomments; $counter += 1)
{
echo'
<form action="http://server2.x.com/form-receive.php" method="post">
<INPUT TYPE=HIDDEN NAME="comment_content" value=$comment_content>
<INPUT TYPE=HIDDEN NAME="comment_date" value=$comment_date">
<input type="submit" />
</form>
';
}

如何更改此代码,以便每次循环发生时,它都会自动将$POST数据发送到script2,然后script2将其放入mysql中?我认为没有必要包含script2,因为它对这个问题并不重要。

最佳答案

要在最终用户不知道这种行为的情况下自动发生这种情况,最好的方法是使用CURL(http://php.net/manual/en/book.CURL.php)。
下面是它的外观示例:

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://server2.x.com/form-receive.php");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, true);

$data = array(
    'foo' => 'bar',
    // Put data from $_POST here
);

curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
$output = curl_exec($ch);
$info = curl_getinfo($ch);
curl_close($ch);

关于php - 如何在循环中$ _POST,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6452294/

10-11 00:40