Laissez-moi vous demander, Android est le front-end et PHP est le back-end.
天蓬老师
天蓬老师 2017-05-16 13:07:19
0
6
707

C'est un problème avec le protocole http. Je travaille sur le backend. Maintenant, j'ai trouvé un problème avec le programmeur Android. Il a dit que les données avaient été envoyées via une requête POST, mais que mon php devait utiliser le type de données json. recevoir les données, mais beaucoup de gens que je vois sur Internet utilisent $_POST[] pour obtenir des données.
Questions
1 Si vous avez vraiment besoin du type de données PHP ou JSON pour recevoir des données, comment écrire le code PHP.
2. Leur Android a-t-il un moyen de publier une demande d'envoi de données et s'il peut ajouter un nom. Tout comme notre site Web, il porte un nom.

Nom d'utilisateur nom d'utilisateur
Mot de passe userpass est un exemple. Veuillez aider. Merci

天蓬老师
天蓬老师

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

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