Comprendre la différence entre $_POST et $_SERVER['REQUEST_METHOD'] == 'POST'
La soumission d'un développeur à Snipplr a fait l'objet de critiques pour utiliser $_SERVER['REQUEST_METHOD'] == 'POST' au lieu de $_POST. Bien que l'approche de la méthode de requête puisse sembler logique, il est essentiel de comprendre la distinction entre les deux.
$_POST contient des données transférées au serveur via la méthode de requête HTTP POST. Ces données sont accessibles via le tableau $_POST et peuvent être utilisées pour traiter les soumissions de formulaires et d'autres entrées basées sur POST.
D'autre part, $_SERVER['REQUEST_METHOD'] fournit des informations sur la méthode de requête HTTP utilisée. par le client. En vérifiant si la méthode de requête est « POST », vous pouvez vérifier que la requête a été transmise à l'aide de la méthode POST. Cependant, cette condition à elle seule ne garantit pas la présence de données POST dans le tableau $_POST.
Considérez le scénario d'une requête POST vide. Dans de tels cas, bien que la demande soit effectuée à l'aide de la méthode POST, aucune donnée n'est incluse. Vérifier la méthode de requête (if ($_SERVER['REQUEST_METHOD'] == 'POST')) renverrait vrai, mais interroger $_POST entraînerait un tableau vide.
En fin de compte, le choix entre utiliser $_POST et $_SERVER['REQUEST_METHOD'] == 'POST' dépend du but recherché. Si vous vous concentrez uniquement sur la vérification de la méthode de requête, alors $_SERVER['REQUEST_METHOD'] == 'POST' suffit. Cependant, si vous devez traiter des données POST, il est important d'accéder directement au tableau $_POST.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!