开发者

cURL - can't get POST response

I'm trying a basic thing. I have two files: curl.php and 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, 开发者_如何学PythonCURLOPT_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'];
}
?>

what I'm hoping to get is as the result of running curl.php, to see "Form sent!". It seems as if it wasn't sent as POST. In firebug (network) there is only one GET request and what I get is the form, nothing sent. Anyone, please help.


You're not sending 'submit' in your POST data so isset($_POST['submit']) will be false. You need to do the following:

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

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜