3

I have a VB.net desktop app sending webrequest to a PHP web server via:

Dim result_post = SendRequest(New Uri(strURL), data, "application/json", "POST")

The data is encoded using the Newtonsoft json encoding process

I am having a problem on the PHP side retrieving the posted json.

$data = file_get_contents('php://input');
//$data = '[{"products_model":"2481-5-50","products_name":"2481-5-50 Desk, Maple with an extended d","products_description":"Desk, Maple with an extended description\rAnd this is line 2","products_quantity":112,"products_date_available":"2009-07-08T00:00:00","products_url":"","fc_products_id":0,"updated":"2012-04-15T00:00:00","products_price":1109.95,"ImageFile":"","products_tax_class_id":1,"products_weight":0.00}]';

$json = json_decode($data, true);
Foreach ($json as $i => $row) {
   //sql insert code goes here
}

If I put the json text in the php file, the sql insert code works. When I use the file_get_contents version I get no errors but also no inserted data.

What am I missing?

Phil McIntosh
  • 31
  • 1
  • 3
  • What does `var_dump($data)` show? – Barmar Oct 01 '12 at 17:30
  • The response that I see in result_post is the html for the login page, to which I have already submitted the user and password, gotten another webrowser.documentcompleted event, and posted the json. This setup works correctly to retrieve json data from php pages. – Phil McIntosh Oct 01 '12 at 19:05
  • My vb.net code is based on this post: http://stackoverflow.com/questions/7384534/how-to-post-a-json-to-a-specific-url-using-vb-net – Phil McIntosh Oct 01 '12 at 19:25

1 Answers1

1

You can check to see if $HTTP_RAW_POST_DATA contains the information you are looking for. If you have always_populate_raw_post_data set to true in your ini settings, then the input stream may have already been read into this variable.

Mike Brant
  • 70,514
  • 10
  • 99
  • 103