2010-08-14 13 views
2

我有一個表單的問題。我只需要一次提交點擊即可執行兩個操作。我讀過最好的解決方案是服務器端腳本,但我對PHP的知識相當有限,所以我非常感謝任何幫助。我該怎麼做等效於使用PHP兩次提交表單?

我需要執行兩個動作:

  1. 運行將文件上載併發送電子郵件(action="uploader.php"
  2. 將用戶引導到貝寶支付網關(action="https://www.paypal.com/cgi-bin/webscr"
腳本

正如我所看到的,問題在於我無法控制PayPal腳本,但顯然需要從表單中獲取一些數據(即數量,概念等),因此在其中添加一個簡單的重定向uploader.php是不夠的。

您認爲如何?我怎麼解決它?

謝謝!

更新:我會嘗試後用戶操作流程:

  1. 用戶填寫表單並添加一個文件上傳
  2. 1形式的行動:文件上傳和發送電子郵件(action="uploader.php"
  3. 第二種形式的動作:用戶被帶到一個貝寶付款表格(action="https://www.paypal.com/cgi-bin/webscr"
  4. 當購買完成後,用戶被帶到購買確認頁面。

回答

2

您的uploader.php應該向用戶顯示新的PayPal表單(或相同),並通過JavaScript在dom準備好提交。 不要忘記非JavaScript用戶。

<form action="https://www.paypal.com/cgi-bin/webscr" method="post" id="myForm"> 
    <!-- obviously hidden input's --> 
    <script type="text/javascript"> 
    window.onload = function(){ 
     document.getElementById("myForm").submit(); 
    } 
    </script> 
    <noscript><input type="submit" value="Continue to Paypal!" /></noscript> 
</form> 
+0

我很抱歉,但我不明白。也許這是因爲在你的回答中,你認爲我知道的實際上比我更多...... 我沒有看到對我需要執行的第一個動作(運行uploader.php)的引用。 我已經用一些更多信息更新了原始問題。 感謝您的幫助! – mvime 2010-08-14 22:47:46

+0

@JMin「運行」uploader.php發生在您向其提交表單時。 PHP腳本在請求時運行。表單提交只是請求一個帶有一些POST參數的PHP頁面。 Anpher建議你的uploader.php腳本輸出('echo')他在他的答案中發佈的代碼,並且javascript(他也提供了)自動將生成的表單提交給paypal。 – 2010-08-15 02:39:07

+0

我想說的是,你不能一次提交一個表單到兩個或更多的URL。你必須一個人做這個。 form - > uploader.php - > form - > paypal – Anpher 2010-08-15 08:57:36