Dalam pembangunan tapak web, fungsi borang adalah sangat biasa, dan PHP ialah bahasa skrip bahagian pelayan yang berkuasa dan bahasa yang digunakan secara meluas yang boleh mengendalikan pelbagai jenis data borang. Walau bagaimanapun, kadangkala kami menghadapi masalah: selepas menyerahkan borang, nilai borang tidak boleh diperoleh menggunakan PHP. Masalah ini mungkin mengambil sedikit masa untuk diselesaikan oleh pembangun, jadi artikel ini bertujuan untuk meneroka sebab mengapa borang php tidak boleh mendapatkan nilai dan cara menyelesaikan masalah ini.
Dalam HTML, nilai elemen borang dipindahkan melalui atribut nama. Oleh itu, semak bahawa atribut nama semua elemen borang dalam borang adalah betul. Pada elemen borang, atribut nama hendaklah sama dengan nama input dalam skrip PHP yang mengendalikan data borang. Contohnya, jika elemen borang anda mempunyai kod berikut:
<input type="text" name="username">
maka skrip PHP anda sepatutnya mempunyai kod berikut:
$username = $_POST['username'];
Jika elemen borang anda tidak dinamakan dengan betul, maka Ia tidak akan diproses.
Dalam borang HTML, anda boleh menggunakan kaedah GET atau POST untuk menghantar data borang ke pelayan. Dalam PHP, $_GET dan $_POST ialah pembolehubah super global yang digunakan untuk mengendalikan kaedah ini. Oleh itu, jika anda menggunakan kaedah POST, anda harus menggunakan $_POST dalam skrip PHP anda. Jika anda menggunakan kaedah GET, anda harus menggunakan $_GET.
Kod untuk menggunakan kaedah POST dalam borang adalah seperti berikut:
<form method="post" action="process.php">
Kod untuk menggunakan kaedah GET dalam borang adalah seperti berikut:
<form method="get" action="process.php">
Pastikan borang telah diserahkan kepada pelayan dengan betul. Dalam elemen borang, tetapkan jenis butang hantar untuk diserahkan. Contohnya:
<input type="submit" value="提交">
Juga pastikan tindakan yang betul ditetapkan dalam teg borang. Nilai atribut tindakan hendaklah URL skrip PHP yang mengendalikan data borang.
Jika borang anda mempunyai bilangan elemen yang banyak, ia mungkin melebihi had lalai PHP, menyebabkan bentuk untuk gagal diperolehi soal nilai. Dalam fail konfigurasi PHP.ini, terdapat sifat yang dipanggil max_input_vars yang mentakrifkan bilangan maksimum parameter POST yang diterima. Nilai lalai ialah 1000.
Anda boleh meningkatkan nilai ini jika borang anda mempunyai bilangan elemen yang banyak. Anda boleh melihat nilai ini dalam fail PHP anda menggunakan kod berikut:
echo ini_get('max_input_vars');
Jika nilai ini terlalu kecil, anda boleh mengubah suainya dalam fail PHP anda menggunakan kod berikut:
ini_set('max_input_vars', 5000);
Ini Nilai max_input_vars akan ditetapkan kepada 5000.
Jika anda masih tidak dapat mendapatkan nilai borang, anda boleh menggunakan fungsi isset() untuk mengesahkan sama ada terdapat adalah nilai. Fungsi isset() digunakan untuk menentukan sama ada pembolehubah telah ditetapkan, dan mengembalikan benar jika pembolehubah ditetapkan, jika tidak ia mengembalikan palsu. Berikut ialah contoh mudah menggunakan fungsi isset() untuk menyemak sama ada pembolehubah borang ditetapkan:
if(isset($_POST['username'])){ $username = $_POST['username']; }
Ini akan mengesahkan terlebih dahulu jika pembolehubah itu ditetapkan, dan jika ya, tetapkan ia kepada $nama pengguna pembolehubah.
Ringkasan:
Mendapatkan nilai borang dalam PHP boleh menghadapi banyak masalah. Walau bagaimanapun, dengan mengikuti petua di atas, anda boleh mengelakkan diri anda dan pengguna anda daripada membuang masa dan tenaga untuk mencari punca masalah. Akhir sekali, ingat bahawa input borang mesti sentiasa disemak untuk memastikan keselamatan data tapak web anda.
Atas ialah kandungan terperinci Apakah yang perlu saya lakukan jika borang php tidak mendapat nilai?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!