即時通訊編寫表單將數據發佈到paypal,這工作正常,我創建帶有隱藏字段的表單,然後提交一切提交到貝寶提交按鈕。自動提交表單(cURL)
但是,當用戶單擊該按鈕時,我想要做的更多,例如在數據庫中更改其購物車狀態。所以,我希望能夠在點擊提交時執行一些代碼,然後將數據發佈到paypal。
我不想爲此使用JavaScript。
我現在的方法是使用cURL,表單發回到當前頁面,然後檢查$ _POST數據,執行其他命令,如更新購物車的狀態,然後創建一個curl命令,以及將表單數據發佈到paypal。現在,它已成功發佈,但瀏覽器不會關閉到貝寶。
起初我只是退回一個字符串的結果,然後回顯出來,我可以看到該帖子成功,然後我設置CURLOPT_FOLLOWLOCATION爲1假設這會讓瀏覽器去貝寶,但它沒有,它似乎做的是從貝寶中抓取一些東西,並把它放在我的頁面上。
使用cURL是正確的嗎?如果是這樣,我該如何解決這個問題?我想遠離javascript,因爲只有啓用了javascript的用戶才能更新購物車。
用於curl的im代碼位於下方,post_data是我創建的數組,然後將鍵值對讀入post_string。
//Set cURL Options
curl_setopt($curl_connection, CURLOPT_CONNECTTIMEOUT, 30);
curl_setopt($curl_connection, CURLOPT_USERAGENT,
"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)");
curl_setopt($curl_connection, CURLOPT_RETURNTRANSFER, false);
curl_setopt($curl_connection, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl_connection, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($curl_connection, CURLOPT_MAXREDIRS, 20);
//Set Data to be Posted
curl_setopt($curl_connection, CURLOPT_POSTFIELDS, $post_string);
//Execute Request
curl_exec($curl_connection);
謝謝,我希望我不會在貝寶的回調中做到這一點,我想設置一個購物車的狀態,因爲它發送到PayPal和一個時,它返回只是因此能準確跟蹤進度,並幫助糾正任何錯誤,虐待嘗試設置一些HTTP標題,並看到,但我可能只需要在回調中做。我只是假設自動提交表單並遵循該操作會更容易。 – cast01 2010-04-07 12:43:21
我想你仍然可以爲那些已啓用javascript的用戶執行這兩種操作。對於那些沒有啓用JavaScript的用戶,只能使用回調,但對於那些已啓用javascript的用戶(大多數),您可以在ajax調用中設置'going-to-paypal'標誌,並將'set'設置爲'complete'國旗在回調中。 – 2010-04-07 13:07:57