Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Gunakan fungsi filter_var_array() PHP untuk menapis data yang dimasukkan oleh berbilang pengguna

Gunakan fungsi filter_var_array() PHP untuk menapis data yang dimasukkan oleh berbilang pengguna

WBOY
WBOYasal
2023-11-03 13:04:541044semak imbas

Gunakan fungsi filter_var_array() PHP untuk menapis data yang dimasukkan oleh berbilang pengguna

Dengan penggunaan aplikasi Web yang meluas, isu keselamatan telah menarik lebih banyak perhatian. Salah satu langkah keselamatan yang penting ialah menapis dan mengesahkan data yang dimasukkan oleh pengguna. PHP menyediakan satu siri fungsi penapis, antaranya terdapat fungsi yang sangat praktikal - filter_var_array(). Fungsi ini boleh menapis berbilang data pada masa yang sama dan merupakan alat yang sangat cekap dan mudah. Artikel ini akan memperkenalkan penggunaan fungsi ini secara terperinci dan memberikan anda contoh kod khusus.

  1. Penggunaan asas fungsi filter_var_array()

filter_var_array() fungsi digunakan untuk menapis berbilang data berikut: #. 🎜🎜 #

filter_var_array ( array $data [, mixed $definition [, bool $add_empty = true ]] ) : array

Antaranya, $data mewakili data yang akan ditapis dan mestilah tatasusunan bersekutu. $definition mewakili peraturan penapisan, yang boleh menjadi tatasusunan atau pemalar. $add_empty menunjukkan sama ada untuk memasukkan rentetan kosong.

Fungsi ini mengembalikan data yang ditapis, yang juga merupakan tatasusunan bersekutu.

    Gunakan fungsi filter_var_array() untuk menapis data yang dimasukkan oleh pengguna
Sekarang andaikan kita mempunyai borang yang mengandungi nama pengguna, kata laluan dan e-mel Terdapat tiga kotak input untuk alamat tersebut. Kita perlu menapis dan mengesahkan data dalam tiga kotak input ini untuk memastikan data berada dalam format yang betul sebelum menyimpannya dalam pangkalan data. Berikut ialah kod yang menggunakan fungsi filter_var_array() untuk menyelesaikan tugasan ini:

<?php
//从表单中获取数据
$username = $_POST['username'];
$password = $_POST['password'];
$email = $_POST['email'];

//定义过滤规则
$definition = array(
    'username' => FILTER_SANITIZE_STRING,
    'password' => FILTER_SANITIZE_STRING,
    'email'    => FILTER_VALIDATE_EMAIL
);

//使用filter_var_array()函数过滤数据
$data = filter_var_array(array(
    'username' => $username,
    'password' => $password,
    'email'    => $email
), $definition);

//判断用户输入是否合法
if($data['username'] && $data['password'] && $data['email']){
    //存储到数据库中
    //...
}else{
    //提示用户输入不合法
    //...
}
?>

Dalam kod di atas, tiga pembolehubah $nama pengguna, $kata laluan dan $e-mel pertama kali diperoleh daripada borang. Kemudian kami menentukan tatasusunan $definition, di mana peraturan penapisan untuk 'nama pengguna' dan 'kata laluan' ialah FILTER_SANITIZE_STRING (mengalih keluar label dan aksara khas), dan peraturan penapisan untuk 'e-mel' ialah FILTER_VALIDATE_EMAIL (menyemak sama ada ia alamat e-mel yang sah ).

Seterusnya, kami menghantar tiga pembolehubah yang diperolehi dan tatasusunan $definisi yang ditentukan kepada fungsi filter_var_array() dan menyimpan hasil pulangan dalam tatasusunan $data. Akhir sekali, kami menentukan sama ada tiga elemen dalam tatasusunan $data tidak kosong. Jika tidak kosong, data boleh disimpan dalam pangkalan data.

Melalui contoh kod di atas, kita dapat melihat kecekapan dan kemudahan fungsi filter_var_array(), yang boleh menapis dan mengesahkan berbilang data dengan mudah.

    Pemalar bagi fungsi filter_var_array()
Dalam contoh di atas kami menggunakan dua pemalar penapis: FILTER_SANITIZE_STRING dan FILTER_Ia adalah dua pemalar_VALIDATE dan FILTER_Ia adalah_VALIDATE_ dalam fungsi filter_var() dan juga boleh digunakan terus dalam fungsi filter_var_array(). Walau bagaimanapun, sebagai tambahan kepada dua pemalar ini, fungsi filter_var_array() mempunyai banyak pemalar lain yang boleh digunakan. Berikut ialah beberapa pemalar penapis yang biasa digunakan:

    FILTER_VALIDATE_BOOLEAN: Semak sama ada ia jenis Boolean
  • FILTER_VALIDATE_INT: Semak sama ada ia adalah integer
  • FILTER_VALIDATE_ FLOAT : Semak sama ada ia adalah nombor titik terapung
  • FILTER_VALIDATE_REGEXP: Semak sama ada ia sepadan dengan ungkapan biasa yang dinyatakan
  • #🎜🎜🎜 sama ada alamat_URL_:I DATE_URL_:I
  • FILTER_SANITIZE_SPECIAL_ CHARS: letakkan Aksara khas dilarikan ke entiti HTML
  • FILTER_SANITIZE_NUMBER_INT: Alih keluar aksara bukan angka daripada rentetan#🎜🎜🎜##🎜🎜🎜##🎜🎜🎜##🎜🎜🎜 🎜#Ringkasan
  • #🎜 🎜#Dalam artikel ini, kami memperkenalkan penggunaan fungsi filter_var_array() PHP secara terperinci dan memberikan contoh kod khusus. Melalui demonstrasi kes sebenar, pembaca dapat memahami dengan jelas cara menggunakan fungsi ini untuk menapis dan mengesahkan data yang dimasukkan pengguna untuk memastikan keselamatan aplikasi web.

Atas ialah kandungan terperinci Gunakan fungsi filter_var_array() PHP untuk menapis data yang dimasukkan oleh berbilang pengguna. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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