Web registration page dynamic matching verification user verification PHP implementation

不言
Release: 2023-03-29 22:38:01
Original
1605 people have browsed it

This article mainly introduces the user verification PHP implementation of dynamic matching verification on the web registration page. It has a certain reference value. Now I share it with you. Friends in need can refer to it.

Required knowledge: 1. PHP database connection

2. Php regular expression matching

3.ajax -

  • HTML and CSS foundation

  • javascript Basic

1:

## 创 创:

<input name="username" type="text" class="form-control" id="contact_username" onkeyup="loadXMLDoc(this.value)" placeholder="用户名" required/>
            <span id="txtHint"></span>
Copy after login
#2:

# #js realizes the prompt effect: (Original text from: Click to open the link)

function loadXMLDoc(str)
{

    if (str.length==0)
    {
        document.getElementById("txtHint").innerHTML="";
        return;
    }
    var xmlhttp;
    //检查浏览器是否支持 XMLHttpRequest 对象
    if (window.XMLHttpRequest)
    {
        // IE7+, Firefox, Chrome, Opera, Safari 浏览器执行代码
        xmlhttp=new XMLHttpRequest();
    }
    else
    {
        // IE6, IE5 浏览器执行代码
        xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
    }
    xmlhttp.onreadystatechange=function()
    {
        if (xmlhttp.readyState==4 && xmlhttp.status==200)
        {
            //responseText	获得字符串形式的响应数据。
            document.getElementById("txtHint").innerHTML=xmlhttp.responseText;

        }
    }
    xmlhttp.open("GET","../common/verify.php?v="+str,true);
    xmlhttp.send();
}
Copy after login

3:

php code realizes dynamic verification: (The verification is defective because it was written by myself, and there are many places that are not correct Perfect, I will continue to improve)

<?php

//注册验证----------

$v=trim($_GET[&#39;v&#39;]);     //获取用户输入的账号

$hint = "";  //用作返回输出



//判断是账号还是密码,或者其他匹配

    //判断输入的账账号长度是否大于0
    if (strlen($v) > 0)
    {

        //用户验证
        //1.必须以字母开头
        if(preg_match("/^[a-z]/",$v)){
            //2.至少5个字符
            if(preg_match("/^[a-z][\w]{4}/",$v))
            {
                echo $v;
                $hint = "";  //当满足时,让它输入空 因为前面不满足赋值了
                //数据库建立连接
                require "mysqli.php";
                //数据库查询语句--查询输入的账号是否存在
                $sql="select `username` from `user` where `username`=&#39;$v&#39;";
                $result = mysqli_query($conn, $sql);
                //当mysqli_num_rows($result)> 说明查到里数据
                if(mysqli_num_rows($result) > 0){
                    $hint ="该用户已存在!";
                }else{
                    $hint = "该用户可用";
                }
                mysqli_close($conn); //关闭数据库连接
            }else{
                $hint = "至少5个字符!";
            }

        }else{
            $hint = "必须以字母开头!";
        }
    }



if ($hint == "")
{
    $response="";
}
else
{
    $response=$hint;
}
//打印返回
echo $response;

?>
Copy after login
更新:(2018年6月5日14:31:00)
Copy after login
//判断输入的账账号长度是否大于0if (strlen($v) > 0) {    //用户验证    
//1.必须以字母开头    
if (preg_match("/^[a-z]/", $v)) {        
//2.至少5个字符最长不超过11个字符        
if (strlen($v) < 5 || strlen($v) > 11) {            
$hint = "至少5个字符,最长不超过11个字符!";        
} else {            
//3.模式匹配            
if (preg_match("/^[a-z][\w]{2,10}$/", $v)) {                
echo $v;                
$hint = "";  //当满足时,让它输入空 因为前面不满足赋值了                
//数据库建立连接                
require "mysqli.php";                
//数据库查询语句--查询输入的账号是否存在                
$sql = "select `username` from `user` where `username`=&#39;$v&#39;";                
$result = mysqli_query($conn, $sql);                
//当mysqli_num_rows($result)> 0 说明查到里数据                
if (mysqli_num_rows($result) > 0) {                    
$hint = "该用户已存在!";                
} else {                    
$hint = "该用户可用";                
}                
mysqli_close($conn); //关闭数据库连接            
}else {                
$hint = "用户名只能是数值,字母,下划线";            
}        
}    
} else {        
$hint = "必须以字母开头!";    
}
}
Copy after login

4:

It is completely based on my own understanding of my oral expression and explanation. It is not professional or standard enough. If there are any mistakes, please point them out: QQ363491343

Explanation: When we enter the user name to be registered in the user name input box, the

function calls the loadXMLDoc() method (see step 2) to perform relevant dynamic verification (specific See click to open the link for introduction)

php code explanation:

1.

$v=trim($_GET[&#39;v&#39;]);
Copy after login

is used to obtain user dynamic input Username;

2.

if (strlen($v) > 0)
Copy after login

The username entered by the user must be greater than 0; this is the most basic.

3.

if(preg_match("/^[a-z]/",$v)){
Copy after login

Then I stipulated that the username must start with a letter and is not case sensitive

4.

This is what I want The username must be at least 5 characters;

6.

echo $v;$hint = "";  //当满足时,让它输入空 因为前面不满足赋值了
//数据库建立连接
require "mysqli.php";//数据库查询语句--查询输入的账号是否存在
$sql="select `username` from `user` where `username`=&#39;$v&#39;";
$result = mysqli_query($conn, $sql);//当mysqli_num_rows($result)> 说明查到里数据
if(mysqli_num_rows($result) > 0){    
$hint ="该用户已存在!";
}else{    
$hint = "该用户可用";}mysqli_close($conn); //关闭数据库连接
Copy after login

The final output returns the content to be displayed;

I have verified here that the echo output in PHP is the returned content.

If php has a warning message or an error occurs, it will be returned to the front end.

If you learn ajax well, then the following code will be easy to understand:

if ($hint == ""){    
$response="";
}else{    
$response=$hint;}//打印返回echo $response;
Copy after login

Well, the above is the user account I wrote myself to pass through the server Achieving dynamic verification effects is also a matter of learning and doing. I hope it can help novice students like me.

If anyone is here, please point out errors and deficiencies.


-----Newly added content:

xmlhttp.onreadystatechange=function()
    {
        if (xmlhttp.readyState==4 && xmlhttp.status==200)
        {
            //responseText	获得字符串形式的响应数据。
            document.getElementById("txtHint").innerHTML=xmlhttp.responseText;

        }
    }
Copy after login
当焦点离开输入框,隐藏提示信息
Copy after login

Add the same onblur event in

   //当焦点离开输入框,隐藏提示信息function upperCase(){
    document.getElementById("txtHint").innerHTML="";}
Copy after login

The above is the detailed content of Web registration page dynamic matching verification user verification PHP implementation. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template