Maison > développement back-end > tutoriel php > Comment puis-je accéder à plusieurs champs de formulaire portant le même nom dans le tableau $_POST de PHP ?

Comment puis-je accéder à plusieurs champs de formulaire portant le même nom dans le tableau $_POST de PHP ?

DDD
Libérer: 2024-11-26 22:39:18
original
814 Les gens l'ont consulté

How Can I Access Multiple Form Fields with the Same Name in PHP's $_POST Array?

POSTing des champs de formulaire avec des attributs de nom en double

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>
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal