Lors de l'envoi de données de formulaire via une requête POST en PHP, il est possible de rencontrer une situation où plusieurs éléments d'entrée partagent le même nom attribut. Cela soulève la question :
Pouvez-vous accéder aux valeurs de tous les champs portant le même nom à partir du tableau $_POST ?
La réponse est non. Seul le dernier élément d'entrée portant le nom donné sera disponible dans $_POST.
Pour contourner cette limitation, vous devez utiliser name="foo[]" pour l'attribut de nom d'entrée. Cela entraînera un tableau dans $_POST qui contient toutes les valeurs des éléments d'entrée portant le même nom. Par exemple :
<form method="post"> <input name="a[]" value="foo"> <input name="a[]" value="bar"> <input name="a[]" value="baz"> <input type="submit"> </form>
Dans ce cas, $_POST['a'] sera un tableau contenant les valeurs "foo", "bar" et "baz".
C'est Il est important de noter que l'utilisation d'attributs de nom simple sans [] ne conduira pas au comportement souhaité. En effet, PHP écrasera les valeurs existantes dans $_POST lorsqu'il rencontrera des noms répétés.
Si vous avez toujours besoin d'accéder aux données brutes du formulaire, vous pouvez les extraire de file_get_contents('php://input'). Cependant, vous devrez analyser manuellement cette chaîne dans un tableau.
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!