Dalam kursus sebelumnya, kami akan pergi ke halaman pendaftaran dan melompat ke reg.php
Serahkan borang ke fail regin.php
Mari kita lakukan seterusnya Lihat langkah pendaftaran
Sambung ke pangkalan data
Dapatkan maklumat borang
Penghakiman Sama ada borang itu kosong
Tulis pernyataan sql untuk menambah kandungan pada pangkalan data
Hakim sama ada pendaftaran berjaya
Nota: Apa yang perlu kita perhatikan di sini ialah langkah ketiga Apabila pangkalan data mengandungi maklumat yang dihantar oleh borang, pendaftaran tidak sepatutnya berjaya pada masa ini. Ringkasnya, sebagai contoh, Zhang San telah mendaftar apabila anda menggunakan nama pengguna Zhang San, kami harus memberikan maklumat bahawa nama pengguna telah didaftarkan
Mari jelaskan. secara terperinci di bawah. Mari kita lihat carta alir dahulu:
Sambung ke pangkalan data, yang sama seperti halaman pendaftaran kami
dapatkan maklumat borang Kami boleh melakukan beberapa operasi penapisan, seperti mengalih keluar fungsi trim() Untuk menyulitkan kata laluan, gunakan kod md5()
:
. $name=trim($_POST['username']);
$ password=$_POST['password'];
fungsi memangkas, ruang penapis, jika tidak, kami menambah banyak daripada ruang selepas nama pengguna, serahkan borang, buka alat penyahpepijat pepijat api, kita boleh melihat nama pengguna yang dimasukkan Akan terdapat banyak ruang di hujung Menggunakan fungsi trim, kita boleh menapis ruang dalam bentuk
seperti yang ditunjukkan dalam rajah di bawah
tanpa menggunakan fungsi trim() Selepas penyerahan, kita dapat melihat terdapat banyak ruang
Kesan selepas penggunaan adalah seperti berikut
Selepas md5() output yang disulitkan Anda akan melihat teks sifir 32-bit
Nama pengguna Zhang San, kata laluan 123456, klik untuk mendaftar
Kemunculan teks sifir tersebut akan mempunyai kesan tertentu pada keselamatan akaun kami
Seterusnya kami perlu menentukan sama ada nama pengguna telah didaftarkan
Mula-mula dapatkan maklumat daripada borang, dan kemudian pergi Kod untuk bertanya sama ada
wujud dalam jadual pangkalan data adalah seperti berikut
$sql = "select * from user where username='$name'";
$info = mysql_query($sql);
$res = mysql_num_rows($info);
Kemudian nilai $res Jika wujud, ia akan menggesa bahawa pengguna telah didaftarkan dan melompat ke halaman pendaftaran
Jika tidak, lakukan operasi pendaftaran
Sebelum melakukan operasi pendaftaran, kami juga perlu menilai borang Adakah maklumat itu kosong? Jika ia kosong, kembali ke halaman pendaftaran dan berikan mesej segera
Kodnya adalah seperti berikut:
if(empty($name) )){
echo "<script> ;alert('Nama pengguna tidak boleh kosong');location.href='reg.php';</script>";
}else if(empty($password )){
echo "< script>alert('Kata laluan tidak boleh kosong');location.href='reg.php';</script>";
}lain{
//Operasi pendaftaran
}
Kod operasi pendaftaran adalah seperti berikut: "')"; <)> $ Result = mysql_query ($ SQL1); ($ hasil) {
echo "& lt; skrip & gt; amaran (' berjaya didaftarkan ') & lt;/skrip & gt;"; ;"; ";";} lain {
bergema "& lt; skrip & gt; >
Kod sumber lengkap adalah seperti berikut:
<?php require_once("conn.php");//首先链接数据库 $name=trim($_POST['username']); //trim函数,过滤空格,如果不加,我们在用户名后面添加很多空格,提交表单,打开firebug //调试工具,我们可以到输入的用户名后面会有很多空格,使用trim函数,我们可以把表单中空格给过滤掉 $password=$_POST['password']; $sql = "select * from user where username='$name'"; $info = mysql_query($sql); $res = mysql_num_rows($info); if(empty($name)){ echo "<script>alert('用户名不能为空');location.href='reg.php';</script>"; }else if(empty($password)){ echo "<script>alert('密码不能为空');location.href='reg.php';</script>"; }else{ if($res){ echo "<script>alert('用户名已存在');location.href='reg.php';</script>"; }else{ $sql1 ="insert into user(username,password) values('".$name."','" .md5($password)."')"; $result = mysql_query($sql1); if($result){ echo "<script>alert('注册成功')</script>"; }else{ echo "<script>alert('注册失败')</script>"; } } } ?>