Maison > développement back-end > tutoriel php > Pourquoi certaines valeurs $_POST manquent-elles dans PHP et comment puis-je y remédier ?

Pourquoi certaines valeurs $_POST manquent-elles dans PHP et comment puis-je y remédier ?

Patricia Arquette
Libérer: 2024-10-28 17:57:29
original
853 Les gens l'ont consulté

Why are some $_POST values missing in PHP and how can I fix it?

Valeurs $_POST manquantes en PHP

Lors de la soumission d'un formulaire HTML via une requête POST, il est prévu que toutes les valeurs soumises remplissent le superglobal $_POST. Cependant, dans certains cas, certaines valeurs peuvent être manquantes.

Quelles sont les causes des valeurs manquantes ?

PHP modifie automatiquement les valeurs contenant des caractères spécifiques (par exemple, espace, point, crochet ouvert) pour garantir la compatibilité avec la fonctionnalité obsolète register_globals. Cette modification peut entraîner l'omission de valeurs dans $_POST.

Résoudre le problème

Pour résoudre ce problème, diverses solutions de contournement peuvent être utilisées. Une méthode populaire consiste à lire les données POST brutes à l'aide de file_get_contents('php://input') et à les analyser manuellement pour extraire les valeurs manquantes.

Vous trouverez ci-dessous un exemple de fonction qui peut être utilisée pour "corriger" les valeurs $_POST :

<code class="php">function getRealPOST() {
    $pairs = explode("&", file_get_contents("php://input"));
    $vars = array();
    foreach ($pairs as $pair) {
        $nv = explode("=", $pair);
        $name = urldecode($nv[0]);
        $value = urldecode($nv[1]);
        $vars[$name] = $value;
    }
    return $vars;
}</code>
Copier après la connexion

En utilisant cette fonction ou des solutions de contournement similaires, vous pouvez vous assurer que toutes les valeurs soumises sont correctement analysées et disponibles dans le 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!

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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal