PHP側でAPIを作成して、JSONデータをPOSTしたときにPOSTしたデータが$_POST
で受け取れなかったのでメモ。
$_POST
公式によると$_POSTで受け取れるのは、「HTTP Content-Type」が下記の場合です。
application/x-www-form-urlencoded or multipart/form-data
ということで、application/json
は$_POSTでは受け取れませんでした。
PHPにPOSTされたJSONをデータとして使用する方法
実際にPOSTされたデータの取り出し方です。
// get raw data from the request $json = file_get_contents('php://input'); // Converts json data into a PHP object $data = json_decode($json, true);
file_get_contents('php://input')
を使用することで取得できます。
ajax等でjsonを送信するケースは多いと思うので、自分メモとして残しておきます。
PHPおすすめ書籍
PHPは書籍も多いですが、比較的読みやすそうな奴を紹介します。まぁどれも読み切れば身に付くと思います。
入門用
いきなりはじめるPHP~ワクワク・ドキドキの入門教室
中級用
気づけばプロ並みPHP 改訂版–ゼロから作れる人になる!
PHP8を体系的に学びたい場合
詳細! PHP 8 + MySQL入門ノート XAMPP + MAMP 対応