在PHP 中透過POST 重定向和發送資料
在需要向線上網關提交包含隱藏欄位的HTML 表單但如果您不想使用顯式HTML 表單,PHP 提供了一個解決方案。但是,單獨使用 PHP 處理 POST 請求時需要注意某些限制。
傳統方法:透過HTML 表單POST
透過POST 發送資料的標準方法涉及建立HTML 表單並使用以下方式提交:
<code class="php"><form action="action.php" method="post"> <input type="hidden" name="id" value="12345"> <input type="hidden" name="name" value="John"> <input type="submit"> </form></code>
使用純PHP 進行POST(限制)
雖然可以使用純PHP 實現POST 請求,但是需要考慮的限制。僅 PHP 無法在不涉及瀏覽器的情況下直接透過 POST 發送資料。相反,您需要採用替代解決方案。
一種方法是使用 cURL 庫,它支援來自 PHP 的 HTTP 請求,有效地使 PHP 程式碼充當客戶端而不是瀏覽器。
<code class="php">$ch = curl_init(); curl_setopt($ch, CURLOPT_URL, "http://www.provider.com/process.jsp"); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, "id=12345&name=John"); curl_exec($ch); curl_close($ch);</code>
或者,如果您堅持使用 POST 而不使用外部程式庫,那麼使用 PHP 產生預填充表單並利用 JavaScript 中的 window.onload 鉤子提交表單可能是可行的選擇。然而,這種方法需要仔細考慮瀏覽器相容性和安全性影響。
以上是如何在 PHP 中傳送 POST 資料而不使用傳統的 HTML 表單?的詳細內容。更多資訊請關注PHP中文網其他相關文章!