Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Petua pengesahan borang PHP: Cara menggunakan fungsi filter_input untuk mengesahkan input pengguna

Petua pengesahan borang PHP: Cara menggunakan fungsi filter_input untuk mengesahkan input pengguna

WBOY
WBOYasal
2023-08-01 08:51:231031semak imbas

Petua pengesahan borang PHP: Cara menggunakan fungsi filter_input untuk mengesahkan input pengguna

Pengenalan:
Apabila membangunkan aplikasi web, borang ialah alat penting untuk berinteraksi dengan pengguna. Mengesahkan input pengguna dengan betul adalah salah satu langkah utama untuk memastikan integriti dan keselamatan data. PHP menyediakan fungsi filter_input, yang boleh mengesahkan dan menapis input pengguna dengan mudah. Artikel ini akan memperkenalkan cara menggunakan fungsi filter_input untuk mengesahkan input pengguna dan memberikan contoh kod yang berkaitan.

1. Penggunaan asas fungsi filter_input
Fungsi filter_input ialah fungsi yang sangat berkuasa digunakan untuk menapis dan mengesahkan input pengguna. Ia menerima tiga parameter: jenis input (sumber input), nama input dan jenis penapis. Berikut ialah contoh asas:

$input = filter_input(INPUT_POST, 'email', FILTER_VALIDATE_EMAIL);
if ($input) {
    echo '有效的邮箱地址。';
} else {
    echo '请输入一个有效的邮箱地址。';
}

Dalam contoh di atas, kami menggunakan fungsi filter_input untuk mengesahkan medan e-mel yang dihantar oleh pengguna melalui kaedah POST. Jenis penapis FILTER_VALIDATE_EMAIL digunakan untuk mengesahkan kesahihan alamat e-mel. Jika alamat e-mel adalah sah, keluarkan "alamat e-mel yang sah", jika tidak, keluarkan "sila masukkan alamat e-mel yang sah".

2. Jenis penapis yang biasa digunakan
Fungsi filter_input menyokong pelbagai jenis penapis untuk mengesahkan jenis input pengguna yang berbeza. Berikut ialah beberapa jenis penapis yang biasa digunakan:

  1. FILTER_VALIDATE_EMAIL: Sahkan kesahihan alamat e-mel.
$email = filter_input(INPUT_POST, 'email', FILTER_VALIDATE_EMAIL);
if (!$email) {
    echo '请输入一个有效的邮箱地址。';
}
  1. FILTER_VALIDATE_INT: Sahkan kesahihan integer.
$age = filter_input(INPUT_POST, 'age', FILTER_VALIDATE_INT);
if (!$age) {
    echo '请输入一个有效的年龄。';
}
  1. FILTER_VALIDATE_URL: Sahkan kesahihan URL.
$url = filter_input(INPUT_POST, 'url', FILTER_VALIDATE_URL);
if (!$url) {
    echo '请输入一个有效的URL地址。';
}
  1. FILTER_SANITIZE_STRING: Alih keluar tag dan aksara khas daripada input pengguna.
$name = filter_input(INPUT_POST, 'name', FILTER_SANITIZE_STRING);
if (!$name) {
    echo '请输入一个有效的姓名。';
}

3. Fungsi penapis tersuai
Selain jenis penapis terbina dalam, kami juga boleh menyesuaikan fungsi penapis untuk mengesahkan input pengguna. Fungsi penapis tersuai harus menerima satu parameter (nilai yang akan disahkan) dan mengembalikan hasil pengesahan (benar atau palsu). Berikut ialah contoh fungsi penapis tersuai:

function validate_username($username) {
    // 用户名必须以字母开头,只能包含字母、数字和下划线
    return preg_match('/^[a-zA-Z][a-zA-Z0-9_]*$/', $username);
}

$username = filter_input(INPUT_POST, 'username', FILTER_CALLBACK, array('options' => 'validate_username'));
if (!$username) {
    echo '请输入一个有效的用户名。';
}

Dalam contoh di atas, kami menentukan fungsi validate_username untuk mengesahkan kesahihan nama pengguna. Fungsi ini menyemak sama ada nama pengguna bermula dengan huruf dan mengandungi hanya huruf, nombor dan garis bawah dengan menggunakan ungkapan biasa. Kami kemudian memanggil fungsi tersuai itu menggunakan jenis penapis FILTER_CALLBACK dan tatasusunan yang mengandungi pilihan untuk mengesahkan input pengguna.

Ringkasan:
Dalam artikel ini, kami memperkenalkan cara menggunakan fungsi filter_input PHP untuk mengesahkan input pengguna. Kami mempelajari penggunaan asas fungsi filter_input dan memberikan contoh jenis penapis yang biasa digunakan dan fungsi penapis tersuai. Mengesahkan input pengguna dengan betul adalah penting untuk memastikan integriti dan keselamatan data. Semoga petua ini akan membantu anda mengesahkan input pengguna dengan berkesan dan meningkatkan kualiti serta pengalaman pengguna aplikasi web anda.

Rujukan:

  1. Dokumentasi fungsi input_filter PH: https://www.php.net/filter_input
  2. Dokumentasi jenis penapis PHP: https://www.php.net/manual/en/filter.filters php

Atas ialah kandungan terperinci Petua pengesahan borang PHP: Cara menggunakan fungsi filter_input untuk mengesahkan input 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