2011-10-25 52 views
0

我有一個用戶數據表單,如姓名,地址,電子郵件等,我想對外部域的頁面做一些操作,我無法操作。通常我會說,表單應該通過POST發送數據action="www.notmydomain.com/externalscript.php"來發送數據,但現在我首先要保存這些數據,然後將formdata提交給這個目標。在這種情況下,這是不可能的,所以我試圖將我的表單數據發送到我的服務器上的另一個腳本,該腳本將數據保存,然後重新使用POSTvars並使用curl發送它。這工作到目前爲止,但我需要重定向到www.notmydomain.com/theforeignscript.php,以便用戶在此域名結束。 curl並沒有這樣做,因爲它只能做請求,對吧?!PHP:提交表單並同時保存數據

第一頁顯示的形式:

<form id="newsletter" action="myscript.php" method="post">....</form> 

..這是使用myscript.php將數據保存在一個CSV文件,然後再次應提交數據www.notmydomain.com/externalscript。 PHP(不能被編輯)...

有沒有人提示如何做到這一點?

在此先感謝。

+0

您可以在提交表單之前通過'ajax'發送(在ajax完成時提交)。你甚至可以用你的php代碼打印一個帶有隱藏字段的表單,並在'body'標籤上添加'onload ='theform.submit()'',然後你可以保存數據,打印出自動提交給外部頁面的表單通過郵政。 – Wanderson

+0

.....是的,這可以用JavaScript來完成...我認爲有一個非JavaScript的方式來得到這個工作...但是,謝謝你,我會試試這種方式!已經想到了這個解決方案... – Mikaelik

回答

1

您可以使用header("Location: http://domain.com/script.php");將用戶重定向到另一個地址。這需要在腳本打印任何內容之前執行,因此請確保正確捕捉所有捲曲錯誤等以避免難看的PHP錯誤消息。

+0

是的,我試過這個,但然後POST變量是空的沒有什麼傳輸到外部腳本... – Mikaelik

+0

除了通過curl完成POST請求之外,您還需要執行此操作。 –

+0

我改變了curl_exec()之前的位置,但是那裏沒有post vars ...在curl_exec()之後,沒有重定向... – Mikaelik