1. 程式人生 > >php使用者登錄檔單驗證

php使用者登錄檔單驗證

註冊介面


register.html

    <h1>使用者註冊</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="重複密碼" 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">註冊</button>
    </form>
register_verify.php
<?php
require "mysql.php";            //匯入mysql.php訪問資料庫
$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"註冊成功";
        }
    }
}


//方法:判斷是否為空
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\">";
}

//方法:郵箱格式驗證
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\">";
    }
}

//方法:將資料插入資料庫中
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("寫入資料庫失敗");</Script></head></html>' .               "<meta http-equiv=\"refresh\" content=\"0;url=register.html\">";
    }
    $conn->close();
}

驗證碼和資料庫的實現方法前面寫過,這裡不再贅述。

驗證碼製作:http://blog.csdn.net/c_jian/article/details/52794742