3

file_get_contents("php://input"); is not working.

$data=$_GET['json']; is working.

my url:

http://localhost/demo/plainjson.php?json={"order_number":"54321","id":"1102","status":3,"card_no":"1234"}

$data = file_get_contents("php://input");
$json = json_decode($data, true);
var_dump($json);// o/p->Null
print_r($json);// o/p-> nothing

echo $json[2];

how to echo or print the url json array or value using this need help. with explanation. thank you in advance.

Ariful Islam
  • 7,639
  • 7
  • 36
  • 54
sudhakar phad
  • 191
  • 1
  • 3
  • 12

1 Answers1

1

allow_url_include may not be set to true in your php.ini? This is common on some older shared hosting services

Refer to this Stack Overflow post for a potential fix.

Ahhh... The problem is that you arent POSTing anything. But rather sending it via query string so there is no body for the stream to retrieve. So as I understand it you cannot use a streams to get the data

See PHP.net Aritical

"php://input is a read-only stream that allows you to read raw data from the request body. In the case of POST request"

Further more see this post

Community
  • 1
  • 1
Mark Bucknell
  • 407
  • 4
  • 18
  • checked i changed the value from: allow_url_include = off to on in php.ini and restarted the wamp. m using wamp. still not working. – sudhakar phad Aug 24 '15 at 05:51
  • so, can you tell m hw to post data? on the same page where i want use file_get_contents("php://input") function to get values. i knw smwht stupid but.. :) – sudhakar phad Aug 24 '15 at 09:29
  • Well there are a couple of options. You can submit a form with your data in a form field and the form method type to POST. Or you can do it in PHP via cURL. Refer to - http://davidwalsh.name/curl-post - for more instructions on that. – Mark Bucknell Aug 24 '15 at 23:22
  • if your site is https and we submit a POST request of content type JSON using a http url of the site, then you may get php://input as null.when submitting data to a https website using https could be better – deffrin joseph Aug 29 '18 at 12:14