Petua pengesahan borang PHP: Cara menggunakan fungsi filter_var_array untuk mengesahkan berbilang input pengguna
Pengesahan borang ialah langkah penting semasa membangunkan aplikasi web. Data yang dimasukkan pengguna mungkin mengandungi kod berbahaya atau data tidak sah, jadi ia perlu disahkan untuk memastikan keselamatan dan ketepatan aplikasi. Dalam PHP, terdapat fungsi filter_var_array() yang sangat mudah yang boleh digunakan untuk mengesahkan berbilang input borang. Artikel ini akan memperkenalkan cara menggunakan fungsi filter_var_array() untuk pengesahan borang, serta beberapa petua dan pertimbangan biasa. Fungsi
filter_var_array() menerima dua parameter: tatasusunan input dan tatasusunan peraturan penapis. Tatasusunan input mengandungi input pengguna yang perlu disahkan, dan tatasusunan peraturan penapis menerangkan cara untuk mengesahkan input ini. Berikut ialah contoh:
// 输入数组 $input = [ 'name' => $_POST['name'], 'email' => $_POST['email'], 'age' => $_POST['age'] ]; // 过滤器规则数组 $filters = [ 'name' => FILTER_SANITIZE_STRING, 'email' => FILTER_VALIDATE_EMAIL, 'age' => [ 'filter' => FILTER_VALIDATE_INT, 'options' => ['min_range' => 18, 'max_range' => 100] ] ]; // 使用filter_var_array()函数进行验证 $result = filter_var_array($input, $filters);
Dalam contoh di atas, kami mula-mula mencipta tatasusunan input $input, yang mengandungi input pengguna untuk disahkan. Seterusnya, kami mencipta tatasusunan peraturan penapis, $filters, yang menerangkan cara untuk mengesahkan setiap medan input. Dalam contoh ini, kami telah menggunakan penapis FILTER_SANITIZE_STRING pada medan 'e-mel
' dan penapis FILTER_VALIDATE_EMAIL pada 'umur
' ditetapkan antara 18 dan 100. name
'字段使用了FILTER_SANITIZE_STRING过滤器,对'email
'字段使用了FILTER_VALIDATE_EMAIL过滤器,对'age
'字段使用了FILTER_VALIDATE_INT过滤器,并且指定了'age
'字段的范围为18到100之间。
最后,我们调用了filter_var_array()函数,将输入数组和过滤器规则数组作为参数传递进去。函数会根据过滤器规则对输入数组进行验证,并返回一个包含验证结果的关联数组$result。如果验证成功,对应字段的值会保持不变;如果验证失败,对应字段的值会被设置为false。
接下来,我们可以根据$result数组中每个字段的验证结果来进行下一步的处理。例如,我们可以检查每个字段是否验证失败,并采取相应的操作:
if ($result['name'] === false) { echo '请输入有效的姓名。'; } if ($result['email'] === false) { echo '请输入有效的电子邮件地址。'; } if ($result['age'] === false) { echo '请输入有效的年龄(18-100)。'; }
在处理表单验证时,还有一些常见的技巧和注意事项需要注意:
$_POST['address']['city']
可以表示为$input['address.city']
Apabila mentakrifkan peraturan penapis , anda boleh menggunakan pemalar penapis atau pilihan penapis untuk menentukan syarat pengesahan tertentu. Anda boleh merujuk kepada dokumentasi PHP rasmi untuk mengetahui lebih lanjut mengenai penapis yang tersedia.
🎜Anda boleh menggunakan tatasusunan dan tatatanda titik dalam tatasusunan input untuk mengendalikan medan borang bersarang. Contohnya,$_POST['address']['city']
boleh diwakili sebagai $input['address.city']
. 🎜🎜Adalah disyorkan untuk mengalih keluar ruang hadapan dan belakang daripada data input sebelum pengesahan untuk mengelakkan masalah pengesahan tambahan. 🎜🎜Anda boleh menggunakan fungsi filter_has_var() untuk menyemak sama ada medan input yang ditentukan wujud. Jika medan adalah pilihan, anda boleh menggunakan fungsi ini untuk menentukan sama ada pengesahan diperlukan. 🎜🎜🎜Untuk meringkaskan, menggunakan fungsi filter_var_array() boleh mengesahkan berbilang input pengguna dengan mudah. Dengan mentakrifkan peraturan penapis dan pemprosesan dengan betul berdasarkan hasil pengesahan, keselamatan dan ketepatan data borang boleh dijamin dengan berkesan. Dalam pembangunan sebenar, kami boleh menentukan dan menggunakan lebih banyak peraturan penapis mengikut keperluan khusus untuk memenuhi pelbagai jenis keperluan pengesahan input. 🎜Atas ialah kandungan terperinci Petua pengesahan borang PHP: Cara menggunakan fungsi filter_var_array untuk mengesahkan berbilang input pengguna. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!