Biar saya bertanya, Android adalah bahagian hadapan dan PHP adalah bahagian belakang.
天蓬老师
天蓬老师 2017-05-16 13:07:19
0
6
673

Ia adalah masalah dengan protokol http Saya bekerja pada bahagian belakang Sekarang saya mendapati masalah dengan pengaturcara android Dia berkata bahawa data telah dihantar melalui permintaan POST, tetapi php saya perlu menggunakan jenis data json menerima data, tetapi saya Ramai orang yang saya lihat di Internet menggunakan $_POST[] untuk mendapatkan data.
Soalan
1 Adakah anda benar-benar memerlukan jenis data php atau json untuk menerima data? Jadi bagaimana untuk menulis kod PHP?
2 Adakah terdapat cara untuk permintaan Android Post mereka menghantar data untuk menambah nama? Sama seperti laman web kami, ia mempunyai nama.

Nama pengguna nama pengguna
Pas pengguna kata laluan ialah contoh. Terima kasih

天蓬老师
天蓬老师

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

membalas semua(6)
巴扎黑

php menerima data pos, biasanya $_POST boleh digunakan, jika tidak, gunakan file_get_contents("php://input");

Data yang dia minta adalah dalam format json Sangat mudah untuk memprosesnya dengan PHP Anda hanya perlu menggunakan json_decode() untuk menghuraikannya dan ia akan menjadi tatasusunan dalam PHP.
Pembolehubah seperti nama pengguna dan kata laluan boleh dibungkus dalam json.

phpcn_u1582

1. Adalah disyorkan untuk menggunakan kod berikut

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

淡淡烟草味

Gunakan $_POST untuk data biasa, gunakan file_get_contents('php://input') untuk XML dan seumpamanya
Jangan gunakan $GLOBALS["HTTP_RAW_POST_DATA"], ia sudah lapuk dalam 7.0.

为情所困

bersamaan dengan mentah

Ty80

Masalah ini mudah diselesaikan Pertama sekali, terdapat dua cara untuk lulus parameter permintaan pos:

  1. serahan borang borang

  2. Serahkan dalam format json

Bahagian belakang dan bahagian Android hanya perlu membincangkan cara untuk menerima data Ia tidak rumit seperti yang penulis katakan

我想大声告诉你

Apakah rangka kerja yang digunakan oleh pengarang Jika anda menggunakan laravel atau lumen, sambungkan terus Request::getContent(), dan kemudian json_decode(). Jika anda ingin melaksanakannya sendiri, anda boleh rujuk kaedah pelaksanaan 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;
    }
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan