* 很抱歉的長期職位 * 我使用捲曲在PHP post
上的表單提交表單值的努力來回報post
的結果,某種形式的領域需要一些幫助,形式有點不尋常。如何使用捲曲使用JS
捲曲腳本
$ch = curl_init();
$data = array('field_1_name' => 'field_value',
'field_2_name' => 'field_value',
'field_3_name' => 'field_value',
);
curl_setopt($ch, CURLOPT_URL,'http://url.com');
curl_setopt ($ch, CURLOPT_POST, 1);
curl_setopt ($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$fp = fopen('data.php', 'w');
curl_setopt($ch, CURLOPT_FILE, $fp);
curl_exec ($ch);
curl_close ($ch);
fclose($fp);
事情你應該知道的
- 的字段是不是
text-fields
而是radio
和dropdown
字段的組合。 - 表格中包含
JS
,但螢火蟲控制檯未顯示AJAX
信息 - 而是該表單與SESSIONS
和HTTP-CACHE
數據一起使用。 - 一旦選擇了一個表單域,該頁面就好像是
reload
,並插入了下一個下拉列表的值。 (再次螢火未示出以此爲AJAX
請求。)
這裏的一個dropdown
字段的形式的示例
<select name="field_name" onchange="document.getElementById('uploadForm').action.value='RELOAD';document.getElementById('uploadForm').reloadTrigger.value='trigSize';document.getElementById('uploadForm').submit();">
<option value="option_1">option_1</option>
<option value="option_2">option_2</option>
<option value="option_3">option_3</option>
</select>
通知的onChange
事件與下一個dropdwon
觸發重新加載網頁,並其各自的options
。
我試圖完成
每個dropdown
字段包含的各種選項。基於表單上選擇的組合,最終頁面重新加載將基於選擇的這些選項返回價格。我需要將價格和選項保存到我的數據庫中。
所以我的數據庫看起來是這樣的:
option_1 | option_2 | option_3 | price |
field_1 | field_2 | field_3 | 25 |
我包括所有這些信息,因爲有人用經驗能可能指向我在更好方向(意爲:茨/庫/教程/等等)我不確定cURL
是否適合這份工作。我更喜歡PHP
。那麼你們覺得呢?感謝您的時間和建議。我歡迎並欣賞所有有用的信息。
- 旁註 - 我用WATIR-WebDriver
寫了一個RUBY
的腳本,這個腳本成功地抓取信息,但工作方式太慢了。每種產品平均有5,000種不同的組合,這種方法每分鐘只能返回約10個。 (FAIL)
編輯1
只是爲了澄清。此表格不在我的服務器上,不屬於我或由我操作。我打算颳去表單返回的數據。
爲什麼使用通常用於遠程URL操作的cURL?爲什麼不使用php $ _POST捕獲。你不會詳細討論這個問題,你只是在附註中說一些關於信息的信息。 –
表單不在我的服務器上。它位於我不屬於或由我經營的外部網站上。這就是我使用cURL的原因。我的道歉 - 我認爲這是暗示在我的問題。我會修改。 – fyz
我認爲你的模型是非常直接的,除非你可以直接訪問遠程數據庫,這是你可以做的唯一的事情。不過,你可能會考慮一件事,那就是你不必在文件中寫回應;相反,您可以使用'DOMDocument :: loadHTML()'立即解析它。 – Passerby