Laman pemprosesan pendaftaran sistem log masuk pendaftaran pengguna PHP
Halaman pemprosesan pendaftaran
Carta alir adalah seperti berikut:
Kod terperinci adalah seperti berikut:
<?php session_start(); //注冊處理界面 regcheck.php if(isset($_POST["hidden"]) && $_POST["hidden"] == "hidden") { $user = trim($_POST["username"]);//trim()函數(shù)移除字符串兩側(cè)的空白字符 $psw = md5(trim($_POST["userpwd"])); $psw_confirm = md5(trim($_POST["confirm"])); $code = $_POST["code"]; if($user == "" || $psw == "" || $psw_confirm == "") { echo "<script>alert('請確認(rèn)信息完整性!'); history.go(-1);</script>"; } else if($code != $_SESSION[' ver_code']){ echo "<script>alert('驗(yàn)證碼不正確,請重新輸入!'); history.go(-1);</script>"; } else { if($psw == $psw_confirm) { $conn = mysqli_connect("localhost","root","root"); //連接數(shù)據(jù)庫,帳號密碼為自己數(shù)據(jù)庫的帳號密碼 if(mysqli_errno($conn)){ echo mysqli_error($conn); exit; } mysqli_select_db($conn,"userdb"); //選擇數(shù)據(jù)庫 mysqli_set_charset($conn,'utf8'); //設(shè)定字符集 $sql = "select username from user where username = '$user'"; //SQL語句 $result = mysqli_query($conn,$sql); //執(zhí)行SQL語句 $num = mysqli_num_rows($result); //統(tǒng)計(jì)執(zhí)行結(jié)果影響的行數(shù) if($num) //如果已經(jīng)存在該用戶 { echo "<script>alert('用戶名已存在'); history.go(-1);</script>"; } else //不存在當(dāng)前注冊用戶名稱 { $ip=ip2long($_SERVER['REMOTE_ADDR']); // 把ip地址轉(zhuǎn)換成整型 $time=time(); $sql_insert = "insert into `user` (`username`,`userpwd`,`createtime`,`createip`) values('" . $user . "','" . $psw ."','".$time."','".$ip."')"; $res_insert = mysqli_query($conn,$sql_insert); if($res_insert) { echo "<script>alert('注冊成功!');window.location.href='login.php';</script>"; } else { echo "<script>alert('系統(tǒng)繁忙,請稍候!'); history.go(-1);</script>"; } } } else { echo "<script>alert('密碼不一致!'); history.go(-1);</script>"; } } } else { echo "<script>alert('提交未成功!');</script>"; } ?>
Penjelasan kod:
Apabila anda mengklik Daftar pada halaman pendaftaran, anda akan memasuki halaman pemprosesan pendaftaran
Tentukan sama ada $_POST["hidden"] lulus dengan kaedah pos wujud Jika ia tidak wujud, ia akan meminta penyerahan belum selesai. Jika berjaya, kembali ke antara muka pendaftaran.
Dapatkan nilai yang diluluskan (gunakan fungsi trim() untuk menapis aksara kosong, gunakan fungsi md5() untuk menyulitkan kata laluan), dan kemudian tentukan sama ada ia kosong adalah kosong, gesaan akan muncul Kembali ke antara muka pendaftaran Jika ia tidak kosong, teruskan
Tentukan sama ada nilai kod pengesahan yang diluluskan oleh kaedah siaran adalah sama dengan pengesahan. nilai kod yang sebelum ini wujud dalam sesi Jika mereka tidak sama, ia akan menggesa bahawa kod pengesahan adalah salah , kembali ke halaman pendaftaran Jika sama, teruskan laksanakan
untuk menentukan sama ada kata laluan yang diluluskan dan kata laluan pengesahan adalah sama. Jika kata laluan itu tidak sama, ia akan menggesa kata laluan itu tidak konsisten >Sambung ke pangkalan data, pilih pangkalan data yang kami buat, tetapkan set aksara, tanya pangkalan data mengikut nama pengguna, jika ada hasil, ia akan meminta nama pengguna wujud, kembali ke halaman pendaftaran, jika tiada hasil , laksanakan pernyataan sisipan pangkalan data, masukkan data ( Medan yang dimasukkan ke dalam pangkalan data menambah masa pendaftaran dan nombor IP yang digunakan untuk pendaftaran)
Gunakan nilai pulangan pernyataan sisipan untuk menentukan sama ada sisipan berjaya Jika ia tidak berjaya, kembali ke halaman pendaftaran untuk mendaftar semula. ??>