理解$_POST 和$_SERVER['REQUEST_METHOD'] == 'POST'
開發者向Snipplr 提交的內容遭到批評使用$_SERVER['REQUEST_METHOD'] == 'POST' 而不是$_POST。雖然請求方法方法看起來邏輯上合理,但了解兩者之間的差異非常重要。
$_POST 包含透過 POST HTTP 請求方法傳送到伺服器的資料。此資料可透過 $_POST 數組訪問,並可用於處理表單提交和其他基於 POST 的輸入。
另一方面,$_SERVER['REQUEST_METHOD'] 提供有關所使用的 HTTP 請求方法的資訊由客戶。透過檢查請求方法是否為“POST”,您可以驗證請求是否是使用 POST 方法傳輸的。但是,僅此條件並不能保證 $_POST 陣列中存在 POST 資料。
考慮空 POST 請求的場景。在這種情況下,雖然請求是使用 POST 方法發出的,但不會包含任何資料。檢查請求方法(if ($_SERVER['REQUEST_METHOD'] == 'POST'))將傳回 true,但查詢 $_POST 將導致空數組。
最終,選擇使用 $_POST和 $_SERVER['REQUEST_METHOD'] == 'POST' 取決於預期目的。如果您的重點只是驗證請求方法,那麼 $_SERVER['REQUEST_METHOD'] == 'POST' 就足夠了。但是,如果您需要處理 POST 數據,直接存取 $_POST 陣列很重要。
以上是$_POST 與 $_SERVER['REQUEST_METHOD'] == 'POST':何時使用哪一個?的詳細內容。更多資訊請關注PHP中文網其他相關文章!