2010-09-15 4 views
5

J'envoie des données en utilisant HTTP POST à ​​mon serveur. Mais dans le serveur, je ne reçois pas les données. Et d'une manière ou d'une autre, je n'ai aucun moyen de vérifier les données (ou le script de débogage) du côté client. Mais sur le côté client, je reçois HTTP 200, signifie que les données sont envoyées. Aussi, je peux voir la connexion et l'envoi de données a réussi. Cependant, la connexion au serveur ne contient pas les données (seulement le nombre d'octets). Comment puis-je enregistrer les données POST brutes qui ont été envoyées au serveur?script PHP pour consigner les données brutes de POST

Comment puis-je enregistrer les données POST brutes qui ont été envoyées au serveur?

FYI, ici le client est un périphérique intégré avec une capacité très limitée. SO, est ce problème. Donc, je ne peux pas vérifier "print_r" ou "echo"

+0

Que se passe si vous essayez un print_r ($ _ POST)? –

+0

Malheureusement, je ne peux pas voir cela du côté client. Donc, ça ne marchera pas. – Morison

+0

Étiez-vous capable de reproduire le problème avec un autre client plus puissant (et capable de lancer des choses comme firebug ^^)? –

Répondre

16

Essayez:

<?php 
print_r($_POST); 
?> 

Vous pouvez également essayer:

<?php 
print_r($_REQUEST); 
?> 

Pour montrer si les variables arrivent en $ _POST (FORM-POST si le codage/méthode est à droite) ou $ _GET

Si vous voulez vous connecter plutôt que d'imprimer à l'écran, vous pouvez essayer:

<?php 
file_put_contents("post.log",print_r($_POST,true)); 
?> 
+2

Merci Rudi, je suppose que file_put_contents est la meilleure chose à faire. – Morison

0

essayer d'utiliser var_dump($_POST['name-of-field']) ou var_dump($_POST)

mise à jour: // et parcourir la source de la page et recherchez un tableau

0

Si vous pointez votre formulaire sur une page avec le code suivant ce que vous obtenez? Nicles?

<?php 
echo "<pre>" 
print_r($_POST); 
?> 
+0

Malheureusement, je ne peux pas voir cela du côté client. Le client est en fait un appareil intégré. Donc, ça ne marchera pas. – Morison

9

Ecrire des données post à un fichier:

file_put_contents('/tmp/postdata.txt', var_export($_POST, true)); 
+0

Bien que cela ne soit acceptable que pour le débogage. Ne laissez jamais quelqu'un écrire quelque chose qui vient d'un $ _POST directement à un fichier dans les applications du monde réel ... –

+0

Merci beaucoup Sjoerd. Je suppose que c'est la meilleure chose à faire. Comme Rudi a répondu la même chose avant vous, je vais donc devoir sélectionner sa réponse :( – Morison

+0

Martin, je l'ai compris, je ne l'utiliserai que pour le débogage – Morison

Questions connexes