Rumah > pembangunan bahagian belakang > tutorial php > Bagaimana untuk mencipta pengesahan borang yang sempurna dengan PHP

Bagaimana untuk mencipta pengesahan borang yang sempurna dengan PHP

王林
Lepaskan: 2023-06-27 15:56:01
asal
1318 orang telah melayarinya

Dalam pembangunan web, pengesahan borang adalah bahagian yang sangat penting Ia boleh memastikan bahawa data input pengguna mematuhi format dan peraturan yang ditentukan, dengan berkesan menghalang beberapa ralat yang tidak perlu dan tingkah laku berniat jahat. Sebagai bahasa pengaturcaraan yang berkuasa dan popular, PHP boleh melaksanakan fungsi pengesahan borang dengan menulis kod. Tetapi, bagaimana untuk membuat pengesahan borang yang sempurna dengan PHP? Artikel ini akan memperkenalkan anda secara terperinci dari aspek berikut.

1. Serahan dan pengesahan borang panggilan

Untuk menggunakan PHP untuk melaksanakan pengesahan borang, anda mesti menghubungi butang hantar dalam borang HTML terlebih dahulu. Dalam borang HTML, anda boleh menggunakan teg <form> untuk memasukkan elemen borang, seperti <input>, <textarea>, dsb. Dalam kod PHP, anda perlu menentukan kaedah permintaan yang sepadan dengan penyerahan borang, iaitu, $_REQUEST atau $_POST. <form>标签来包含表单元素,例如<input>,<textarea>等。而在PHP代码中需要指定表单提交时所对应的请求方法,即$_REQUEST$_POST

例如,在HTML表单中,假设我们定义了一个文本框,用于输入用户名。那么,在PHP代码中可以这样来调用它的提交和验证:

<?php
if(isset($_REQUEST['submit'])){
$username = $_POST['username'];
//进行验证
}
?>
Salin selepas log masuk

这里,isset()函数可以检查请求是否存在,并返回truefalse。而$_POST则是指通过POST请求提交的表单数据。

二、验证表单输入数据

在对表单进行验证时,通常需要检查用户的输入数据是否符合指定的格式和规则。例如,对于输入的用户名,我们可以检查它的长度是否超出限制,是否包含非法字符等。常见的表单验证方式如下:

1.检查输入格式:验证输入数据的格式是否符合协议规定。例如,在验证邮箱地址时,可以使用正则表达式来检测其格式是否正确。

if(preg_match('/^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+.[a-zA-Z]{2,4}$/',$_POST['email'])){
//合法
}
Salin selepas log masuk

2.检查字符串长度:验证输入字符串的长度是否符合要求。例如,在验证用户名时,可以检查其长度是否在6-20个字符之间。

if( strlen($username) >= 6 && strlen($username) <= 20 ){
//合法
}
Salin selepas log masuk

3.检查是否为空:验证是否输入了必填字段,并且检测数据是否为空。例如,在验证密码时,可以检查其是否为空。

if(empty($_REQUEST['password'])){
//密码为空,需要填写
}
Salin selepas log masuk

三、处理表单提交数据

经过验证之后,表单的输入数据已经符合指定的规则和格式了,但是我们还需要将这些数据进行处理,例如保存到数据库中或发送电子邮件等。在PHP代码中,可以使用$_REQUEST$_POST全局变量来获取表单提交的信息,然后对其进行处理。例如:

<?php
if( isset($_REQUEST['submit']) ){
$username = trim($_POST['username']);
$email = trim($_POST['email']);
$password = trim($_POST['password']);

//将数据保存到数据库中
mysqli_query($db,"INSERT INTO user (username,email,password) VALUES ('$username','$email','$password')");

//发送电子邮件
$to = $email;
$subject = '注册成功';
$message = '恭喜您!您已经成功注册本站账户。';
$headers = 'From: webmaster@example.com';
mail($to,$subject,$message,$headers);
}
?>
Salin selepas log masuk

四、处理错误信息

在进行表单验证时,往往会出现一些错误情况,例如输入的数据格式不正确、必填字段为空等。针对这些错误情况,我们需要及时地反馈给用户,并提示正确的操作步骤。在PHP代码中,可以使用echo语句和die()

Sebagai contoh, dalam bentuk HTML, katakan kita mentakrifkan kotak teks untuk memasukkan nama pengguna. Kemudian, penyerahan dan pengesahannya boleh dipanggil seperti ini dalam kod PHP:

if(preg_match('/^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+.[a-zA-Z]{2,4}$/',$_POST['email'])){
//合法
}else{
echo '输入的邮箱地址不正确,请重新输入!';
die();
}
Salin selepas log masuk
Di sini, fungsi isset() boleh menyemak sama ada permintaan itu wujud dan mengembalikan true atau salah. Dan $_POST merujuk kepada data borang yang diserahkan melalui permintaan POST.

2. Sahkan data input borang🎜🎜Semasa mengesahkan borang, biasanya perlu menyemak sama ada data input pengguna mematuhi format dan peraturan yang ditetapkan. Contohnya, untuk nama pengguna yang dimasukkan, kita boleh menyemak sama ada panjangnya melebihi had, sama ada ia mengandungi aksara haram, dsb. Kaedah pengesahan borang biasa adalah seperti berikut: 🎜🎜1 Semak format input: Sahkan sama ada format data input mematuhi protokol. Contohnya, apabila mengesahkan alamat e-mel, anda boleh menggunakan ungkapan biasa untuk menyemak sama ada ia diformatkan dengan betul. 🎜rrreee🎜2. Semak panjang rentetan: Sahkan sama ada panjang rentetan input memenuhi keperluan. Sebagai contoh, apabila mengesahkan nama pengguna, anda boleh menyemak sama ada panjangnya antara 6-20 aksara. 🎜rrreee🎜3 Periksa sama ada ia kosong: Sahkan sama ada medan yang diperlukan dimasukkan dan mengesan sama ada data itu kosong. Contohnya, semasa mengesahkan kata laluan, anda boleh menyemak sama ada ia kosong. 🎜rrreee🎜3. Memproses data penghantaran borang🎜🎜Selepas pengesahan, data input borang sudah mematuhi peraturan dan format yang ditetapkan, tetapi kami masih perlu memproses data, seperti menyimpannya ke pangkalan data atau menghantar e-mel, dll. Dalam kod PHP, anda boleh menggunakan pembolehubah global $_REQUEST dan $_POST untuk mendapatkan maklumat penyerahan borang dan kemudian memprosesnya. Contohnya: 🎜rrreee🎜 4. Mengendalikan mesej ralat 🎜🎜 Semasa melakukan pengesahan borang, beberapa ralat sering berlaku, seperti format data input tidak betul, medan yang diperlukan kosong, dsb. Sebagai tindak balas kepada situasi ralat ini, kami perlu memberikan maklum balas tepat pada masanya kepada pengguna dan segerakan langkah operasi yang betul. Dalam kod PHP, anda boleh menggunakan pernyataan echo dan fungsi die() untuk mengeluarkan maklumat ralat Contohnya adalah seperti berikut: 🎜rrreee🎜 5. Kesimpulan 🎜🎜PHP. pengesahan borang adalah pembangunan web Ia merupakan bahagian yang sangat penting dalam proses pelaksanaan Pengalaman pengguna, keselamatan dan kebolehbacaan kod perlu diambil kira sepenuhnya semasa proses pelaksanaan. Dengan memperkenalkan aspek di atas secara terperinci, saya percaya anda sudah boleh menguasai cara menggunakan PHP untuk mencipta pengesahan borang yang sempurna. 🎜

Atas ialah kandungan terperinci Bagaimana untuk mencipta pengesahan borang yang sempurna dengan PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan