我正在尝试使用 cURL 将表单从一个站点提交到另一个站点。但是它给了我一些 $fields_string 变量错误(未定义的变量)。
这是我第一次使用 cURL 并且对此没有太多了解。所以请指导我解决这个我可以成功提交表单的问题。
信息:我现在正在 localhost 上工作,并尝试在 localhost 另一个网站上提交表单进行测试。
这是我的代码
<?php
$url = 'http://localhost/qa/ask';
$fields = array(
'title'=>urlencode($_POST['title']),
'content'=>urlencode($_POST['content']),
'tags'=>urlencode($_POST['tags']),
'q_notify'=>urlencode($_POST['q_notify']),
);
foreach($fields as $key=>$value) { $fields_string .= $key.'='.$value.'&'; }
rtrim($fields_string,'&');
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_POST,count($fields));
curl_setopt($ch,CURLOPT_POSTFIELDS,$fields_string);
$result = curl_exec($ch);
curl_close($ch);
?>
这是我的 html 表单
<form action="submit.php" method="POST">
<INPUT NAME="title" TYPE="text" CLASS="qa-form-tall-text custom-ask-text" value="" placeholder="Ask your question" autocomplete="off" role="textbox">
<TEXTAREA NAME="content" CLASS="qa-form-tall-text"></TEXTAREA>
<INPUT NAME="tags" TYPE="text" CLASS="qa-form-tall-text custom-ask-text" value="">
<label><input type="checkbox" class="qa-form-tall-checkbox" checked="" value="1" name="q_notify">Email me if my question is answered or commented on</label>
<INPUT CLASS="custom-ask-submit" TYPE="submit" value="ask">
<INPUT TYPE="hidden" NAME="doask1" VALUE="1">
</form>
谢谢
编辑:新代码
<?php
$url = 'http://localhost/qa/ask';
$fields = array(
'title'=>$_POST['title'],
'content'=>$_POST['content'],
'tags'=>$_POST['tags'],
'q_notify'=>$_POST['q_notify'],
);
$fields_string = '';
foreach($fields as $key=>$value) { $fields_string .= $key.'='.$value.'&'; }
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_POST,count($fields));
curl_setopt($ch,CURLOPT_POSTFIELDS,$fields);
$result = curl_exec($ch);
curl_close($ch);
?>
如果一切都正确,那么我分配的网址可能是错误的。我正在使用 question2answer.org 脚本,并希望在我的用户可以从我的其他网站提交表单/问题的地方制作表单。
编辑:@GBD
Curl error: array(22) { ["url"]=> string(23) "http://localhost/qa/ask" ["content_type"]=> string(24) "text/html; charset=utf-8" ["http_code"]=> int(200) ["header_size"]=> int(443) ["request_size"]=> int(211) ["filetime"]=> int(-1) ["ssl_verify_result"]=> int(0) ["redirect_count"]=> int(0) ["total_time"]=> float(0.141) ["namelookup_time"]=> float(0) ["connect_time"]=> float(0.016) ["pretransfer_time"]=> float(0.016) ["size_upload"]=> float(87) ["size_download"]=> float(16130) ["speed_download"]=> float(114397) ["speed_upload"]=> float(617) ["download_content_length"]=> float(-1) ["upload_content_length"]=> float(87) ["starttransfer_time"]=> float(0.141) ["redirect_time"]=> float(0) ["certinfo"]=> array(0) { } ["redirect_url"]=> string(0) "" }