Mengapakah beberapa nilai $_POST hilang dalam PHP dan bagaimana saya boleh membetulkannya?

Patricia Arquette
Lepaskan: 2024-10-28 17:57:29
asal
740 orang telah melayarinya

Why are some $_POST values missing in PHP and how can I fix it?

Tiada Nilai $_POST dalam PHP

Apabila menyerahkan borang HTML melalui permintaan POST, semua nilai yang diserahkan akan mengisi superglobal $_POST. Walau bagaimanapun, dalam sesetengah kes, nilai tertentu mungkin tiada.

Apakah yang Menyebabkan Nilai Hilang?

PHP mengubah suai nilai yang mengandungi aksara tertentu secara automatik (cth., ruang, titik, kurungan segi empat terbuka) untuk memastikan keserasian dengan ciri register_globals yang telah ditamatkan. Pengubahsuaian ini boleh menyebabkan nilai diabaikan daripada $_POST.

Menyelesaikan Isu

Untuk menyelesaikan isu ini, pelbagai penyelesaian boleh digunakan. Satu kaedah yang popular ialah membaca data POST mentah menggunakan file_get_contents('php://input') dan menghuraikannya secara manual untuk mengekstrak nilai yang hilang.

Di bawah ialah contoh fungsi yang boleh digunakan untuk "membetulkan" nilai $_POST:

<code class="php">function getRealPOST() {
    $pairs = explode("&", file_get_contents("php://input"));
    $vars = array();
    foreach ($pairs as $pair) {
        $nv = explode("=", $pair);
        $name = urldecode($nv[0]);
        $value = urldecode($nv[1]);
        $vars[$name] = $value;
    }
    return $vars;
}</code>
Salin selepas log masuk

Dengan menggunakan fungsi ini atau penyelesaian yang serupa, anda boleh memastikan bahawa semua nilai yang diserahkan dihuraikan dengan betul dan tersedia dalam tatasusunan $_POST.

Atas ialah kandungan terperinci Mengapakah beberapa nilai $_POST hilang dalam PHP dan bagaimana saya boleh membetulkannya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!