在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中文網其他相關文章!