118 votes

php Le tableau $_POST est vide lors de la soumission du formulaire.

J'ai construit un système de gestion de contenu (CMS) personnalisé qui fonctionne parfaitement sur ma boîte de développement (Ubuntu/PHP5+/MySQL5+).

Je viens de le déplacer vers la boîte de production pour mon client et maintenant toutes les soumissions de formulaire apparaissent comme des tableaux $_POST vides.

J'ai trouvé une astuce pour vérifier que les données sont réellement transmises en utilisant file_get_contents('php://input'); et les données s'affichent bien ici la $_POST / $_REQUEST Les tableaux sont toujours vides.

J'ai également vérifié que les en-têtes content-type sont corrects via firebug ( application/x-www-form-urlencoded; charset=utf-8 ).

Ce problème se produit indépendamment du fait qu'un formulaire soit soumis via AJAX ou via un formulaire normal.

Toute aide est grandement appréciée !

-1voto

Mahmoud Elgabry Points 11

OK, j'ai pensé que je devais exposer mon cas ici ..... Le formulaire fonctionne bien, mais il arrive que les utilisateurs se plaignent d'avoir appuyé sur le bouton "Envoyer" et que rien ne se passe. ..... Après avoir creusé un peu, j'ai découvert que mon hébergeur possède un module de sécurité qui vérifie les entrées des utilisateurs et efface tout le tableau des messages (pas seulement les données malveillantes) s'il le découvre. Dans mon exemple, un professeur de mathématiques essayait d'entrer l'équation : dy + dx + 0 = 0 ; et les données ont été complètement effacées.

Pour résoudre ce problème, je lui ai simplement conseillé d'entrer les données dans la zone de texte sous la forme dy + dx + 0 = zéro, et maintenant cela fonctionne ..... Cela peut faire gagner du temps à quelqu'un...

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X