PHP React Native

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 にシェア

フロントエンド入門者へおすすめ動画&書籍おすすめ!

  • この記事を書いた人

藤沢瞭介(Ryosuke Hujisawa)

りょすけと申します。18歳からプログラミングをはじめ、今はフロントエンドでReactを書いたり、AIの勉強を頑張っています。off.tokyoでは、ハイテクやガジェット、それからプログラミングに関する情報まで、エンジニアに役立つ情報を日々発信しています!

1
2
no image 3
4
5
6
7
8
9
10
no image 11
12
13
14
15
16
17
18
19
20
21
22
23

-PHP, React Native