Obtention de valeurs de champ de formulaire avec des noms en double dans $_POST
Lors de la publication d'un formulaire avec plusieurs éléments d'entrée partageant le même attribut de nom, certains comportements surviennent qui affectent l'accessibilité de leurs valeurs dans le tableau $_POST de PHP.
Les valeurs de PHP Comportement
Normalement, seules les valeurs associées au dernier élément d'entrée du même nom seront accessibles dans $_POST. Cela se produit parce que PHP parcourt la chaîne de requête brute et écrase toutes les paires clé-valeur existantes avec des noms en double.
Solution : utiliser des crochets
Pour autoriser plusieurs éléments d'entrée avec le même nom pour stocker correctement leurs valeurs dans $_POST, utilisez l'attribut name="foo[]" au lieu de name="foo". Cette approche aboutit à $_POST contenant un tableau nommé "foo" où chaque élément stocke une valeur de l'élément d'entrée respectif.
Accès à la chaîne de requête brute
Si vous accédez à un élément individuel les valeurs des champs portant le même nom sont cruciales, vous pouvez également récupérer la chaîne de requête brute en utilisant file_get_contents('php://input'). Ce processus vous permet d'analyser manuellement les valeurs individuelles.
Limitations et avantages
Bien que l'accès à la chaîne de requête brute puisse sembler une solution, il a ses limites. Le remplissage automatique de $_POST par PHP offre plus de commodité et de prévention des erreurs par rapport à l'analyse manuelle. Cependant, l'utilisation de file_get_contents('php://input') offre un plus grand contrôle et une plus grande flexibilité, en particulier lorsqu'il s'agit de structures de formulaire plus complexes.
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!