Rumah > Artikel > pembangunan bahagian belakang > Petua pengesahan borang PHP: Cara menggunakan fungsi filter_input_array untuk mengesahkan berbilang medan input
Petua pengesahan borang PHP: Cara menggunakan fungsi filter_input_array untuk mengesahkan berbilang medan input
Apabila membangunkan aplikasi web menggunakan PHP, pengesahan borang ialah pautan yang penting. Dengan mengesahkan input pengguna, serangan berniat jahat boleh dicegah, input data yang salah boleh dikurangkan dan keselamatan dan kebolehpercayaan data boleh dipertingkatkan. Artikel ini akan memberi tumpuan kepada cara menggunakan fungsi filter_input_array PHP untuk mengesahkan berbilang medan input, menjadikan pengesahan borang lebih mudah dan lebih cekap.
Pertama, kita perlu memahami penggunaan asas fungsi filter_input_array. Fungsi filter_input_array digunakan untuk menapis data input tatasusunan Ia menerima tiga parameter: jenis input, peraturan penapisan dan sama ada untuk membenarkan nilai nol. Dengan menggunakan fungsi ini, kami boleh mengesahkan berbilang medan input sekaligus dan data input boleh ditapis dan dinormalkan menggunakan pelbagai penapis.
Berikut ialah contoh mudah yang menunjukkan cara menggunakan fungsi filter_input_array untuk menyemak berbilang medan input:
// 定义过滤规则 $filters = [ 'username' => FILTER_SANITIZE_STRING, 'email' => FILTER_VALIDATE_EMAIL, 'password' => FILTER_SANITIZE_STRING ]; // 使用filter_input_array函数验证输入字段 $input = filter_input_array(INPUT_POST, $filters); // 检查是否有错误发生 if ($input !== null && $input !== false) { // 输入字段验证通过 // 执行其他逻辑 // ... } else { // 输入字段验证失败 // 输出错误信息 $errors = filter_input_array(INPUT_POST, $filters, true); foreach ($errors as $field => $error) { echo "错误:$field - $error <br>"; } }
Dalam contoh di atas, kami mula-mula mentakrifkan tatasusunan $filters yang mentakrifkan peraturan penapisan untuk setiap medan input . Dalam contoh ini, kami menggunakan tiga penapis: FILTER_SANITIZE_STRING untuk menapis input rentetan, FILTER_VALIDATE_EMAIL untuk mengesahkan input e-mel dan FILTER_SANITIZE_STRING untuk menapis input rentetan.
Kemudian, kami menggunakan fungsi filter_input_array untuk mengesahkan medan input. Fungsi ini menggunakan parameter INPUT_POST untuk mendapatkan data input daripada tatasusunan $_POST. Keputusan pengesahan akan disimpan dalam pembolehubah $input.
Seterusnya, kami menyemak sama ada pembolehubah $input adalah batal atau palsu Jika tidak, ini bermakna semua medan input telah disahkan. Dalam kes ini kita boleh melakukan operasi logik lain. Jika pembolehubah $input adalah batal atau palsu, ini bermakna sekurang-kurangnya satu medan input gagal pengesahan. Dalam kes ini, kita boleh menggunakan parameter ketiga fungsi filter_input_array yang ditetapkan kepada benar untuk menyimpan maklumat ralat penapis dalam tatasusunan $errors. Kami kemudiannya boleh menggunakan gelung foreach untuk lelaran melalui tatasusunan $errors dan mengeluarkan maklumat ralat ke halaman.
Dengan menggunakan fungsi filter_input_array, kami boleh memudahkan dan mengoptimumkan proses pengesahan borang. Kami tidak lagi perlu mengesahkan setiap medan input satu demi satu, dan boleh menggunakan pelbagai penapis yang dipratentukan untuk menapis dan mengesahkan data input. Ini menjimatkan banyak kod dan meningkatkan kebolehselenggaraan dan kebolehgunaan semula kod.
Ringkasan:
Artikel ini memperkenalkan teknik yang cekap untuk pengesahan borang PHP, iaitu menggunakan fungsi filter_input_array untuk menyemak berbilang medan input. Dengan mentakrifkan tatasusunan peraturan penapisan, kami boleh mengesahkan berbilang medan input sekaligus dan menapis serta menormalkan data input menggunakan pelbagai penapis. Dengan cara ini, proses pengesahan borang boleh dipermudahkan dan dioptimumkan, meningkatkan kebolehselenggaraan dan kebolehgunaan semula kod.
Saya harap artikel ini akan membantu anda memahami teknik pengesahan borang PHP. Jika anda mempunyai sebarang pertanyaan, sila tinggalkan mesej.
Atas ialah kandungan terperinci Petua pengesahan borang PHP: Cara menggunakan fungsi filter_input_array untuk mengesahkan berbilang medan input. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!