cURL - 无法获得POST响应

时间:2010-10-19 16:04:33

标签: php forms post curl

我正在尝试一个基本的东西。我有两个文件: curl.php和 form.php的

curl.php

<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://localhost/test/test34_curl_post/form.php");
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, array(
    'nabc' => 'fafafa'
));
$result = curl_exec($ch);
curl_close($ch);
echo $result;
?>   

form.php的

<form action="form.php" method="post">

<input type="hidden" name="nabc" value="abc" />
<input type="submit" name="submit" value="Send" />

</form>


<?php

if(isset($_POST['submit']))
{
 echo '<br />Form sent!'.$_POST['nabc'];
}
?>

我希望得到的是运行curl.php的结果,看看“Form sent!”。好像它不是作为POST发送的。在firebug(网络)中只有一个GET请求,我得到的是表单,没有发送。任何人,请帮忙。

1 个答案:

答案 0 :(得分:1)

您没有在POST数据中发送'submit',因此isset($_POST['submit'])将为false。您需要执行以下操作:

curl_setopt($ch, CURLOPT_POSTFIELDS, array(
    'nabc' => 'fafafa',
    'submit' => 'Send' // if you want 'submit' in $_POST you need this
));