首頁 >後端開發 >php教程 >為什麼在 PHP 中提交表單後我的 $_POST 數組為空,如何修復它?

為什麼在 PHP 中提交表單後我的 $_POST 數組為空,如何修復它?

Linda Hamilton
Linda Hamilton原創
2024-12-12 13:38:10592瀏覽

Why is my $_POST array empty after form submission in PHP, and how can I fix it?

在PHP 中提交表單後清空$_POST 數組

在自訂內容管理系統(CMS) 中,使用者遇到了以下問題:$ _POST 陣列在表單提交後保持為空。將應用程式遷移到生產伺服器後會觀察到此行為。雖然表單資料存在於 php://input 流中,但 $_POST 和 $_REQUEST 陣列中不存在。

要解決此問題,確定內容類型標頭至關重要。如果表單使用 JSON 內容類型 (application/json) 提交,PHP 將不會填入 $_POST 陣列。這是因為 JSON 資料的處理方式與典型的表單編碼資料不同,後者通常透過 $_POST 處理。

要修正此問題,可以使用以下程式碼:

$_POST = json_decode(file_get_contents("php://input"), true);

此程式碼從php://input 串流讀取JSON 數據,對其進行解碼,並將其分配給$ _POST 數組,從而使表單資料可用於進一步處理。

以上是為什麼在 PHP 中提交表單後我的 $_POST 數組為空,如何修復它?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn