views:

45

answers:

5

Hi, I am sending data using HTTP POST to my server. But in the server, I am not receiving the data. And somehow I don't have any way to check the data (or debug script) on client side. But on client side I am getting HTTP 200, means data is sent. Also I can see the connection and data sending was successful. However log in the server doesn't contain the data (only the number of bytes).

How can I log the raw POST data that was sent to the server?

Any idea?

FYI, here client is an embedded device with very limited capability. SO, is this problem. So, I can not check "print_r" or "echo"

A: 

You can try sniffing the HTTP session.

Sjoerd
A: 

try using var_dump($_POST['name-of-field']) or var_dump($_POST)

updated:// and browse the source of the page and look for an array

Aviatrix
A: 

If you point your form to a page with the following code what do you get? Nicles?

<?php
echo "<pre>"
print_r($_POST);
?>
Frankie
unfortunately I can not see that in client side. Client is in fact an embedded device. So,it will not work.
Morison
+1  A: 

Try:

<?php
print_r($_POST):
?>

You may also want to try:

<?php
print_r($_REQUEST);
?>

To show if the variables are coming in in $_POST (FORM-POST if encoding/method is right) or $_GET

If you want to log either rather than printing onscreen - you could try:

<?php
file_put_contents("post.log",print_r($_POST,true));
?>
Rudu
Thanks Rudi, I guess file_put_contents is the best thing to do.
Morison
+2  A: 

Write post data to a file:

file_put_contents('/tmp/postdata.txt', var_export($_POST, true));
Sjoerd
Although this is only acceptable for debugging. Never let anyone write anything that comes from a $_POST directly to some file in real world apps...
Martin
Thank you very much Sjoerd. I guess this is the best thing to do. Since Rudi replied the same before you, so I will have to select his answer :(
Morison
Martin, I understood. I will only use it for debugging
Morison