Menyerahkan Medan Borang dengan Atribut Nama Pendua
Soalan:
Apabila menyerahkan borang yang mengandungi berbilang medan input teks dengan atribut nama yang sama, bolehkah semua nilai medan masih boleh diambil dari Tatasusunan $_POST dalam PHP?
Jawapan:
Tidak, hanya nilai elemen input terakhir dengan nama yang sama akan disimpan dalam tatasusunan $_POST.
Sebab:
PHP mengisi tatasusunan $_POST dengan meletupkan rentetan pertanyaan mentah ke dalam pasangan nilai nama individu. Apabila ia menemui berbilang pasangan nilai nama dengan nama yang sama, ia akan menimpa nilai sebelumnya dengan yang baharu.
Alternatif:
Untuk mengendalikan berbilang input dengan yang sama name:
Menghuraikan Rentetan Pertanyaan Mentah:
Jika menggunakan rentetan pertanyaan mentah, anda boleh menghuraikannya secara manual menggunakan skrip yang serupa kepada:
$post = array(); foreach (explode('&', file_get_contents('php://input')) as $keyValuePair) { list($key, $value) = explode('=', $keyValuePair); $post[$key][] = $value; }
Atas ialah kandungan terperinci Bolehkah Tatasusunan `$_POST` PHP Mengendalikan Berbilang Medan Borang dengan Nama Yang Sama?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!