我想通過使用cURL將表單從一個站點提交到另一個站點。但它給我一些$ fields_string變量錯誤(未定義的變量)。cURL變量錯誤
這是我第一次使用cURL並且沒有太多的知識。所以請指導我解決這個問題,我可以成功提交表單。
信息:我現在正在本地主機上工作,並試圖提交表單本地主機的另一個網站進行測試。
這裏是我的代碼
<?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>
感謝您
編輯:NEW CODE
<?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) "" }
沒有,但沒有結果。意味着不提交表單,但通過過程沒有錯誤,一旦它提交加載該網站頁面($ url)沒有css –
你也必須刪除urlencode位,當你定義$字段。就像我說的那樣,捲髮爲你做了一切。 –
你的意思是''title'=> urlencode($ _ POST ['title'])'''title'=> $ _ POST ['title']' –