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 :
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>
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>
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>
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!