在PHP 中透過POST 重定向和發送資料
在PHP 中,您可能會遇到需要將使用者重新導向到外部的情況網站並透過POST 將資料傳遞到該網站。與 HTML 表單不同,PHP 本身並不支援此行為。
GET 與POST
在Web 開發中,有兩種主要方法用於從來源發送資料到目的地:
PHP 提供了一種使用 header 函數透過 GET 發送資料的簡單方法。例如:
<code class="php">header('Location: http://www.provider.com/process.jsp?id=12345&name=John');</code>
使用 PHP 進行 POST
但是,PHP 無法在不依賴外部函式庫或瀏覽器操作的情況下直接透過 POST 發送資料。一種可能的方法是使用 cURL 函式庫發出 POST 請求。然而,這需要 PHP 程式碼充當客戶端,這並不總是可取的。
另一個解決方案是使用 PHP 動態產生 HTML 表單,用所需的資料填入它,然後透過 JavaScript 提交它。這種方法允許您利用 POST,而無需直接在 PHP 中處理請求。以下程式碼說明了這個概念:
<code class="php">// Generate HTML form with hidden fields $html = '<form action="http://www.provider.com/process.jsp" method="post">'; $html .= '<input type="hidden" name="id" value="12345">'; $html .= '<input type="hidden" name="name" value="John">'; $html .= '<script>document.onload = function() { document.forms[0].submit(); }</script>';</code>
此程式碼建立一個 HTML 表單,該表單將在頁面載入時自動將其提交到指定的 URL。雖然此方法依賴瀏覽器支持,但它確實啟用了 PHP 的 POST 資料傳輸。
以上是如何使用 PHP 透過 POST 向外部網站發送資料?的詳細內容。更多資訊請關注PHP中文網其他相關文章!