本文實(shí)例講述了PHP實(shí)現(xiàn)的用戶注冊(cè)表單驗(yàn)證功能。分享給大家供大家參考,具體如下:
注冊(cè)界面

register.html
h1>用戶注冊(cè)/h1>
form method="post" action="register_verify.php">
input type="text" placeholder="用戶名" name="username">br>br>
input type="password" placeholder="密碼" name="password">br>br>
input type="password" placeholder="重復(fù)密碼" name="password2">br>br>
label>性別:
input type="radio" name="sex" value="男" checked="checked">男
input type="radio" name="sex" value="女">女/label>br>br>
input type="email" placeholder="郵箱" name="email">br>br>
button class="btn" type="submit">注冊(cè)/button>
/form>
register_verify.php
?php
require "mysql.php"; //導(dǎo)入mysql.php訪問數(shù)據(jù)庫(kù)
$username=$_POST['username'];
$password=$_POST['password'];
$password2=$_POST['password2'];
$sex=$_POST['sex'];
$email=$_POST['email'];
if(checkEmpty($username,$password,$password2,$sex,$email)){
if(checkpwd($password,$password2)){
if(checkEmail($email)){
if(insert($username,$password,$sex,$email))
echo"注冊(cè)成功";
}
}
}
//方法:判斷是否為空
function checkEmpty($username,$password,$password2,$sex,$email){
if($username==null||$password==null||$password2==null){
echo 'html>head>Script Language="JavaScript">alert("用戶名或密碼為空");/Script>/head>/html>' . "meta http-equiv=\"refresh\" content=\"0;url=register.html\">";
}
else{
if($sex==null){
echo 'html>head>Script Language="JavaScript">alert("性別為空");/Script>/head>/html>' . "meta http-equiv=\"refresh\" content=\"0;url=register.html\">";
}
elseif($email==null){
echo 'html>head>Script Language="JavaScript">alert("郵箱為空");/Script>/head>/html>' . "meta http-equiv=\"refresh\" content=\"0;url=register.html\">";
}
else{
return true;
}
}
}
//方法:檢查兩次密碼是否相同
function checkpwd($password,$password2){
if($password==$password2)
return true;
else
echo 'html>head>Script Language="JavaScript">alert("兩次密碼不一致");/Script>/head>/html>' . "meta http-equiv=\"refresh\" content=\"0;url=register.html\">";
}
//方法:郵箱格式驗(yàn)證
function checkEmail($email){
$preg = '/^(\w{1,25})@(\w{1,16})(\.(\w{1,4})){1,3}$/';
if(preg_match($preg, $email)){
return true;
}else{
echo 'html>head>Script Language="JavaScript">alert("郵箱格式有誤");/Script>/head>/html>' . "meta http-equiv=\"refresh\" content=\"0;url=register.html\">";
}
}
//方法:將數(shù)據(jù)插入數(shù)據(jù)庫(kù)中
function insert($username,$password,$sex,$email){
$conn=new Mysql();
$sql="insert into user VALUE (null,'$username','$password','$sex','$email')";
$result=$conn->sql($sql);
if($result){
return true;
}
else{
echo 'html>head>Script Language="JavaScript">alert("寫入數(shù)據(jù)庫(kù)失敗");/Script>/head>/html>' . "meta http-equiv=\"refresh\" content=\"0;url=register.html\">";
}
$conn->close();
}
驗(yàn)證碼和數(shù)據(jù)庫(kù)的實(shí)現(xiàn)方法前面寫過,這里不再贅述。
可參考前面兩篇文章:
PHP封裝mysqli基于面向?qū)ο蟮膍ysql數(shù)據(jù)庫(kù)操作類
PHP通過GD庫(kù)實(shí)現(xiàn)驗(yàn)證碼功能
PS:這里再為大家提供2款非常方便的正則表達(dá)式工具供大家參考使用:
JavaScript正則表達(dá)式在線測(cè)試工具:
http://tools.jb51.net/regex/javascript
正則表達(dá)式在線生成工具:
http://tools.jb51.net/regex/create_reg
更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《php程序設(shè)計(jì)安全教程》、《php安全過濾技巧總結(jié)》、《PHP基本語(yǔ)法入門教程》、《php面向?qū)ο蟪绦蛟O(shè)計(jì)入門教程》、《php字符串(string)用法總結(jié)》、《php+mysql數(shù)據(jù)庫(kù)操作入門教程》及《php常見數(shù)據(jù)庫(kù)操作技巧匯總》
希望本文所述對(duì)大家PHP程序設(shè)計(jì)有所幫助。
您可能感興趣的文章:- PHP登錄驗(yàn)證功能示例【用戶名、密碼、驗(yàn)證碼、數(shù)據(jù)庫(kù)、已登陸驗(yàn)證、自動(dòng)登錄和注銷登錄等】
- ubutu 16.04環(huán)境下,PHP與mysql數(shù)據(jù)庫(kù),網(wǎng)頁(yè)登錄驗(yàn)證實(shí)例講解
- php使用sql server驗(yàn)證連接數(shù)據(jù)庫(kù)的方法
- php驗(yàn)證用戶名是否以字母開頭與驗(yàn)證密碼實(shí)例
- php用戶注冊(cè)頁(yè)面利用js進(jìn)行表單驗(yàn)證具體實(shí)例
- PHP+Ajax驗(yàn)證碼驗(yàn)證用戶登錄
- php面向?qū)ο蟮挠脩舻卿浬矸蒡?yàn)證
- PHP用戶驗(yàn)證和標(biāo)簽推薦的簡(jiǎn)單使用
- 通過緩存數(shù)據(jù)庫(kù)結(jié)果提高PHP性能的原理介紹
- PHP利用緩存處理用戶注冊(cè)時(shí)的郵箱驗(yàn)證,成功后用戶數(shù)據(jù)存入數(shù)據(jù)庫(kù)操作示例