ホーム 技術ネタ

PHPでPOST受け取れないと思ったら - React Native

やりたかったこと

ネイティブ側のフォームからパスワードとメアドを入力してもらい、それをPHPへPOST送信、ちゃんと受け取れてるかPHP側で受け取ったPOSTをネイティブ側でリクエストの結果をレスポンスで受け取ってアラート表示させるというもの。

できねえ

ネイティブ側でこういう風に書いて


    body: JSON.stringify({

    password: value.password,

    username: value.username

    })

PHP側でこういう風に受け取っても空っぽ


$_POST['password']; 
$_POST['username'];

原因

見過ごしていた、ネイティブ側の送信側で、ヘッダーがこういう風になっていた。これじゃあできないわな。クライアント側では直接JSONを本文に投げてきていた。Content-Type:application/json で送信されると、key=valueが無いので当然ながら、$_POST変数が空っぽになります。


    headers: {
    'Accept': 'application/json',
    'Content-Type': 'application/json',
    },

解決

こんな感じですね。file_get_contents('php://input');の部分はコピペでいいよ。


<?php


$json_string = file_get_contents('php://input');
echo $json_string;
$obj = json_decode($json_string);

$myObj->password = $obj['password'];
$myObj->username = $obj['username'];

$myJSON = json_encode($myObj);

echo $myJSON;

 

 

Pocket
LinkedIn にシェア



技術 x マーケティングの支援ならOFFで一貫支援、承ります。詳しくは下記のURLから↓ ⭐️

マーケティングと、システム開発のプロフェッショナル集団が御社の課題の解決をお手伝いします

-ホーム, 技術ネタ
-, ,

Copyright© off , 2020 All Rights Reserved Powered by AFFINGER5.