我是使用cURL的新手,所以我需要你的帮助。我的情况是,我想通过表单站点(form.php)发送一个表单(formular.php)。
form.php通过cURL调用formular.php。
以下是两个源代码:
form.php的
<?php
error_reporting(-1);
$url = 'http://localhost/formular.php';
$data = array('customerline' => 'nummer1', 'customerphonenumber' => 'nummer2');
$postString = http_build_query($data, '', '&');
$ch = curl_init();
curl_setopt ($ch, CURLOPT_URL, $url);
curl_setopt ($ch, CURLOPT_POST, 2);
curl_setopt ($ch, CURLOPT_POSTFIELDS, $postString);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
$post = curl_exec ($ch);
curl_close ($ch);
echo $post;
?>
formular.php
<?php if(isset($_POST['form'])): ?>
Sent!
<?php else: ?>
<form action="http://localhost/formular.php" method="post" name="form">
<input type="text" name="customerline" />
<input type="text" name="customerphonenumber" />
<input type="submit" value="send" name="form" />
</form>
<?php endif; ?>
我的问题是,我不明白如何将文字段落“发送!”。
你能帮帮我吗?
答案 0 :(得分:2)
您可以直接传入数组,而无需将其转换为查询字符串。 CURLOPT_POST
也应为true
。
尝试:
$url = 'http://localhost/formular.php';
$data = array('customerline' => 'nummer1', 'customerphonenumber' => 'nummer2');
$ch = curl_init();
curl_setopt ($ch, CURLOPT_URL, $url);
curl_setopt ($ch, CURLOPT_POST, true);
curl_setopt ($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
$post = curl_exec ($ch);
curl_close ($ch);
echo $post;
的更多信息
答案 1 :(得分:1)
您希望if条件的格式为if(isset($_POST['form']))
,但是从curl开始,您不会发送它。
你应该添加它。所以,你的post参数应该是:
$data = array(
'customerline' => 'nummer1',
'customerphonenumber' => 'nummer2',
'form' => 'value'
);