$_POST と $_SERVER の違いを理解する['REQUEST_METHOD'] == 'POST'
Snipplr への開発者の提出物が批判にさらされた$_POST の代わりに $_SERVER['REQUEST_METHOD'] == 'POST' を使用する場合。リクエスト メソッドのアプローチは論理的に適切であるように見えますが、この 2 つの違いを理解することが重要です。
$_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 中国語 Web サイトの他の関連記事を参照してください。