Maison  >  Article  >  développement back-end  >  Pourquoi la requête POST ne capture-t-elle pas l'entrée en PHP malgré un code valide ?

Pourquoi la requête POST ne capture-t-elle pas l'entrée en PHP malgré un code valide ?

Barbara Streisand
Barbara Streisandoriginal
2024-10-20 16:10:29352parcourir

Why isn't POST Request Capturing Input in PHP despite Valid Code?

Résolution d'un dysfonctionnement de la requête POST en PHP

Dans l'extrait de code présenté :

<?php echo $_POST['ss'];?><br><form action="<?php echo $_SERVER['PHP_SELF'];?>" method="post"><br><input name="ss" type="text" /><br><input type="submit" name="submit"><br></ form><br>

L'intention est de capturer l'entrée de la zone de texte et de l'afficher lorsque vous cliquez sur le bouton Soumettre. Cependant, la sortie reste vide. Bien que method="get" fonctionne de manière transparente, method="post" pose un problème.

Dépannage de la requête POST

Pour résoudre ce problème, envisagez les étapes suivantes :

  1. Vérifiez l'attribut d'action :
    Si vous actualisez la page, définissez l'attribut d'action sur une chaîne vide, par exemple :

    <code class="php">action=''</code>

    au lieu de :

    <code class="php">action="<?php echo $_SERVER['PHP_SELF'];?>"</code>
  2. Inspectez le tableau $_POST :
    Utilisez var_dump pour vérifier le contenu du tableau $_POST après la soumission du formulaire.
  3. Configurer la gestion des données POST :
    Ajoutez la ligne suivante au début de votre fichier PHP pour gérer correctement les données POST :

    <code class="php">if(empty($_SERVER['CONTENT_TYPE']))
    { 
      $_SERVER['CONTENT_TYPE'] = "application/x-www-form-urlencoded"; 
    }</code>
  4. Vérifiez les paramètres php.ini :
    Assurez-vous que les paramètres suivants existent dans votre fichier php.ini :

    <code class="ini">post_max_size = 8M
    variables_order = "EGPCS"</code>
  5. Considérez l'allocation de mémoire :
    Restez vigilant avec l'allocation de mémoire. Allouer plus de 2 048 Mo peut entraîner des problèmes, en fonction des spécifications du système.
  6. Redémarrez Apache (si nécessaire) :
    Si vous modifiez php.ini et que PHP s'exécute en tant qu'Apache module, redémarrez Apache en utilisant une commande telle que :

    <code class="bash">sudo /etc/init.d/httpd restart</code>

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!

Déclaration:
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