问一下,android为前端,php为后端的问题
天蓬老师
天蓬老师 2017-05-16 13:07:19
0
6
594

就是http协议的问题,本人是做后端的,现在和android程序员发现了一个问题,就是他说是已POST请求发送数据,但是我php要已json的数据类型去接收数据,但是我在网上看到的人很多都是$_POST[] 这样获取数据,
问题
1.真的要php已json的数据类型去接收数据 那么php的代码改怎么写
2.他们android是不是有办法Post请求发送数据是否可以加name 。就像我们web网站一样,有个name。

已用户名 username
密码 userpass 为例子 大家帮帮忙。谢谢

天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

répondre à tous (6)
巴扎黑

php reçoit les données de publication, généralement $_POST peut être utilisé, sinon, utilisez file_get_contents("php://input");

Les données qu'il a demandées sont au format json. Il est très simple de les traiter avec PHP. Il vous suffit d'utiliser json_decode() pour les analyser et elles deviendront un tableau en PHP.
Les variables telles que le nom d'utilisateur et le mot de passe peuvent être regroupées en json.

    phpcn_u1582

    1. Il est recommandé d'utiliser le code suivant

    $c = file_get_contents('php://input'); //解析获取的二进制流 获取的数据格式是json $j = json_decode($c, true); //解析json数据,加第二个参数true 是数组 不然是对象

    2. Doit pouvoir ajouter

      淡淡烟草味

      Utilisez $_POST pour les données normales, utilisez file_get_contents('php://input') pour XML et autres ;
      N'utilisez pas $GLOBALS["HTTP_RAW_POST_DATA"], il est obsolète dans la version 7.0.

        为情所困

        équivaut à brut

          Ty80

          Ce problème est facile à résoudre. Tout d'abord, il existe deux manières de transmettre les paramètres de la requête de publication :

          1. soumission du formulaire

          2. Soumettre au format json

          Le backend et le côté Android ont juste besoin de discuter d'un moyen de recevoir des données. Ce n'est pas aussi compliqué que le dit l'auteur

          .
            我想大声告诉你

            Quel framework l'auteur utilise-t-il ? Si vous utilisez laravel ou lumen, connectez directement Request::getContent(), puis json_decode(). Si vous souhaitez l'implémenter vous-même, vous pouvez vous référer à la méthode d'implémentation de laravel :

            public function getContent($asResource = false) { $currentContentIsResource = is_resource($this->content); if (PHP_VERSION_ID < 50600 && false === $this->content) { throw new \LogicException('getContent() can only be called once when using the resource return type and PHP below 5.6.'); } if (true === $asResource) { if ($currentContentIsResource) { rewind($this->content); return $this->content; } // Content passed in parameter (test) if (is_string($this->content)) { $resource = fopen('php://temp', 'r+'); fwrite($resource, $this->content); rewind($resource); return $resource; } $this->content = false; return fopen('php://input', 'rb'); } if ($currentContentIsResource) { rewind($this->content); return stream_get_contents($this->content); } if (null === $this->content || false === $this->content) { $this->content = file_get_contents('php://input'); } return $this->content; }
              Derniers téléchargements
              Plus>
              effets Web
              Code source du site Web
              Matériel du site Web
              Modèle frontal
              À propos de nous Clause de non-responsabilité Sitemap
              Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!