2012-07-18 65 views
1

好吧,所以我已經看了很多問題,但我只找到1個類似於我正在嘗試做的事情。這裏是它的鏈接:Passing POST data from one web page to another with PHP將POST數據從另一個PHP文件發送到PHP文件的方式?

我想從一個PHP文件(我們稱之爲editData.php)到另一個PHP文件(我們將其稱爲submitData.php)傳遞數據。這兩個文件都沒有任何HTML元素(我的意思是純PHP代碼)。第一個文件(editData.php)接收$ _POST數據,對其進行編輯,並且需要將其發送到第二個文件。第二個文件(submitData.php)需要能夠使用$ _POST讀取數據。 沒有會話也沒有cookies可以使用恐怕。

在上面的鏈接的問題,接受的答案是從那裏創建一個表單內和POST數據隱藏字段。這對於OP來說很有效,因爲他在他的「editData.php」上有用戶交互,所以當用戶想要去「submitData.php」時,他會發送數據。

我不能使用這個解決方案(至少,我不認爲我可以),因爲我正在訪問(併發送$ _POST數據)從javascript AJAX調用editData.php將不會有用戶在此頁面上進行交互。我需要通過代碼發佈修改後的數據,或者其他一些「自動」傳輸(或「behinid-the-scenes」或任何你想稱之爲的事情)的方式。 submitData.php將在editData.php之後被調用。

我不知道如果我能改寫submitData.php接受GET數據,所以算出來那以及(它是能夠訪問該文件的問題)。我真的不想回到我原來的JavaScript函數(然後再次AJAX)。我正在加密editData.php中的信息,(雖然它聽起來很愚蠢),但我不想讓別人爲我的加密開發密碼變得容易。在加密後返回值(用Inspect Element可見)會讓你很容易破譯,如果你問我。

我覺得這個問題可以想出了很多,所以我期望有一些明顯的我失蹤。如果是這樣,請告訴我。

tl; dr? 如何通過POST方法將數據發送到PHP文件,而只使用另一個PHP文件中的代碼?

+1

你可以使用[PHP捲曲(http://us2.php.net/manual/en/book.curl.php)。 – 2012-07-18 19:52:26

+0

我需要爲此安裝任何東西嗎?有人告訴我這是一個外部圖書館。 – cNovak 2012-07-18 19:53:19

+1

他們必須是單獨的PHP文件嗎? AFAIK你可能會遇到AJAX問題,因爲它會請求一個特定的PHP文件;並且數據將從另一個返回。 (_換句話說,我不確定XMLHttpRequest是否可以與一個調用另一個實際返回數據的PHP文件一起工作;它不喜歡使用可以重定向的瀏覽器_) – 2012-07-18 19:53:28

回答

4

那麼你可以考慮只是簡化您的方法,幷包括在editData文件的末尾submitData邏輯。但是,假設由於某些原因(文件存在於不同的系統或者其他系統中),這是不可能的,您最好的辦法可能是使用cURL功能將數據發佈到第二個腳本。

如果文件是在同一臺服務器上,雖然我會強烈建議不要將數據發佈到第二個腳本,因爲這將基本上只增加一倍,你的Web服務器需要處理與此相關的腳本請求的金額。

+0

+1您的代碼應該是模塊化的,以便您可以輕鬆地在submitData.php中包含邏輯,如其他頁面editData.php。 – Xeoncross 2012-07-18 19:57:05

+0

@Xeoncross我的submitData.php通常通過JS AJAX調用,但在這種情況下我需要從PHP文件訪問它。 – cNovak 2012-07-18 20:01:22

+0

@ user1454408,這是我的觀點。您設計的系統沒有適當的組件分離,現在將您置於這種艱難的環境中,您無法輕鬆地在另一個地方的某個地方使用邏輯。 – Xeoncross 2012-07-18 20:04:21

相關問題