> 백엔드 개발 > PHP 튜토리얼 > 웹 등록 페이지 동적 매칭 확인 사용자 확인 PHP 구현

웹 등록 페이지 동적 매칭 확인 사용자 확인 PHP 구현

不言
풀어 주다: 2023-03-29 22:38:01
원래의
1645명이 탐색했습니다.

이 글은 주로 웹 등록 페이지의 동적 매칭 확인을 위한 PHP 구현을 소개합니다. 이제는 필요한 친구들이 참고할 수 있도록 공유하겠습니다. 1. PHP 데이터베이스 연결

                                                                                                ~ ~ >                                                                                    프롬프트 효과 실현: (원본 텍스트: 링크를 열려면 클릭하세요)

<input name="username" type="text" class="form-control" id="contact_username" onkeyup="loadXMLDoc(this.value)" placeholder="用户名" required/>
            <span id="txtHint"></span>
로그인 후 복사

3:

동적 검증을 달성하기 위한 PHP 코드: (직접 작성했기 때문에 검증에 결함이 있으며 부족한 부분이 많습니다. 계속해서 개선하겠습니다.)

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();
}
로그인 후 복사
<?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;

?>
로그인 후 복사
更新:(2018年6月5日14:31:00)
로그인 후 복사

4:
  • 완전히 본인의 이해와 본인의 말투와 설명에 근거한 내용이므로, 충분히 전문적이거나 표준적이지 않은 부분이 있으면 지적해 주시기 바랍니다. it out: QQ363491343

    설명: 사용자 이름 입력 상자에 등록할 사용자 이름을 입력하면
  • 함수는 loadXMLDoc() 메서드(2단계 참조)를 호출하여 관련 동적 확인(클릭하여 열기 참조)을 수행합니다. 자세한 내용은 링크를 참조하세요)

php 코드 설명:

1.

//判断输入的账账号长度是否大于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 = "必须以字母开头!";    
}
}
로그인 후 복사

는 사용자 역학을 얻는 데 사용됩니다. 입력한 사용자 이름은

2.

$v=trim($_GET[&#39;v&#39;]);
로그인 후 복사

사용자가 입력한 사용자 이름은 0보다 커야 합니다. ;가장 기본적인 내용입니다.

3.

if (strlen($v) > 0)
로그인 후 복사

그런 다음 사용자 이름은 문자로 시작해야 하고 대소문자를 구분하지 않는다고 규정했습니다.

4.

이것은 사용자 이름이 5자 이상이어야 하는 부분입니다

5.

if(preg_match("/^[a-z]/",$v)){
로그인 후 복사

즉, 위의 조건이 모두 충족되면 해당 사용자가 이미 존재하는지 확인하기 위해 데이터베이스에서 동적 검색을 수행합니다.

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); //关闭数据库连接
로그인 후 복사

최종 출력은 표시할 내용을 반환합니다.

직접 확인했으며 PHP의 에코 ​​출력은 반환된 내용입니다.

php에 경고 메시지가 있거나 오류가 발생하면 프런트 엔드로 반환됩니다.

Ajax를 잘 배우신다면 다음 코드는 이해하기 쉬우실 겁니다.

if ($hint == ""){    
$response="";
}else{    
$response=$hint;}//打印返回echo $response;
로그인 후 복사

글쎄요, 위는 서버를 통해 동적 검증 효과를 얻기 위해 제가 직접 작성한 사용자 계정입니다. 저도 배우고 있습니다. 저 같은 초보 학우들에게 도움이 되었으면 좋겠습니다.

혹시 계시는 분이 계시다면, 오류나 부족한 점을 자유롭게 지적해주세요.

----새로 추가된 콘텐츠:

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

        }
    }
로그인 후 복사
当焦点离开输入框,隐藏提示信息
로그인 후 복사

   //当焦点离开输入框,隐藏提示信息function upperCase(){
    document.getElementById("txtHint").innerHTML="";}
로그인 후 복사

에 동일한 onblur 이벤트

추가

위 내용은 웹 등록 페이지 동적 매칭 확인 사용자 확인 PHP 구현의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿