Kosongkan Tatasusunan $_POST Walaupun Penyerahan Borang dalam PHP
Teka-teki biasa yang dihadapi semasa menyelesaikan masalah penyerahan borang PHP menghadapi tatasusunan $_POST yang kosong walaupun berjaya penyerahan data. Untuk menyelesaikan isu ini, adalah penting untuk memahami faktor asas yang mungkin menyumbang kepada tingkah laku ini.
Dalam kes khusus ini, pengguna telah mengesahkan bahawa data borang sememangnya berjaya dihantar melalui file_get_contents('php:/ /input'), tetapi tatasusunan $_POST/$_REQUEST kekal kosong. Ini menunjukkan isu khusus yang memerlukan penyiasatan lanjut.
Penyelesaian yang disediakan menunjukkan punca masalah: apabila jenis kandungan JSON digunakan dalam penyerahan borang, tatasusunan $_POST tidak diisi secara lalai. Ini berlaku kerana data JSON dikendalikan secara berbeza daripada data berkod bentuk biasa.
Menyelesaikan Isu
Untuk menangani isu ini, pengguna melaksanakan penyelesaian yang melibatkan penyahkodan Data JSON daripada hasil file_get_contents('php://input') dan mengisi $_POST secara manual tatasusunan:
$_POST = json_decode(file_get_contents("php://input"), true);
Dengan memperuntukkan data JSON yang dinyahkodkan kepada tatasusunan $_POST, pengaturcara memastikan data borang boleh diakses mengikut cara yang dijangkakan, walaupun penyerahan borang asal menghasilkan tatasusunan $_POST kosong .
Atas ialah kandungan terperinci Mengapa tatasusunan $_POST saya kosong apabila menyerahkan borang JSON dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!