加入收藏 | 设为首页 | 会员中心 | 我要投稿 驾考网 (https://www.jiakaowang.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

Ajax核查用户名唯一性数据校验

发布时间:2023-06-05 13:34:37 所属栏目:PHP教程 来源:
导读:注:本文中使用到的一些类库在前面文章都能找到源代码,我会在文中指明链接所在,为了缩短文章篇幅,由此带来的阅读不便,敬请谅解。

本文要说明的是如何使用 Ajax 验证用户名是否被注册。当您注册某网站的时候,
注:本文中使用到的一些类库在前面文章都能找到源代码,我会在文中指明链接所在,为了缩短文章篇幅,由此带来的阅读不便,敬请谅解。

本文要说明的是如何使用 Ajax 验证用户名是否被注册。当您注册某网站的时候,输入用户名,鼠标光标一离开,就会提示,您的用户名是否被注册,本文将为您展现程序流程。

首先,我们得先需要一个表单页面 index.html,代码清单如下:

index.html

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"

<html>  

<head>  

<Meta http-equiv="Content-Type" content="text/html; charset=UTF-8">  

<script type="text/javascript" src="js/ajax.js"></script> <!-- 载入 Ajax 类库 -->  

<title>Ajax 验证用户名</title>  

<style type="text/css">  

    body {  

        font-size:12px;   

    }  

</style>  

</head>  

<body>  

    <form action="reg.PHP" method="post">  

        username:<input type="text" value="" onBlur="validate(this.value);" name="username"> <span id="userText"></span><br />  

        password:<input type="password" value="" name="password"><br />  

        <input type="button" value="Submit">  

    </form>  

</body>  

</html>  

代码清单中,我们加载了一个 Ajax 类库,这个类库可以在文中找到(并附有使用方法);放置了一个用户名文本框(input);并且放置了一个 onBlur(鼠标光标离开事件);用户名文本框后面放置一个 SPAN 标签,用于显示提示信息。

当您输入用户名后,就会触发事件 validate(val) 函数,validate(val) 的函数代码清单如下:

<script type="text/javascript">  

    /** 

    * validate(val) 光标离开后触发事件 

    * @param string val 输入的文本 

    * @return string 返回验证是否成功 

    */  

    function validate(val) {  

        var userText = document.getElementById('userText'); // 获取 SPAN 对象  

        // 如果为空或者输入空格执行  

        if (!(val.match(/^S+$/))) {  

            userText.innerHTML = '<font color="red">请输入用户名!</font>';  

        } else {  

            if (val.length<2) {  

                userText.innerHTML = '<font color="red">用户名个数必须大于两位!</font>';  

            } else {  

                var ajax = Ajax(); // 创建 Ajax 对象  

                // 通过 Ajax POST 方法把用户名提交到 validate.PHP 进行验证用户名是否存在,并返回结果  

                ajax.post('validate.PHP',{username:val},function(data){  


                    userText.innerHTML = data; // Ajax 返回的值显示在 SPAN 标签上    

                });  

            }  

        }  

    }  

</script>  

validate.PHP (验证文件)

<?PHP  

require_once './config.inc.PHP';  

$m = new Model(); // 实例化一个数据库操作类  

$username = $_POST['username']; // 接受传递过来的用户名  

$count = $m->total('user',"name='{$username}'"); // $count 用户名在数据库出现的次数  

if (intval($count)>0) {  

    echo '<font color="red">抱歉,'. $username .'已被注册,请更换!</font>';  

} else {  

    echo '<font color="green">恭喜,'. $username .'可以注册!</font>';  

}  

?>  

validate.PHP 文件中的 config.inc.PHP 文件主要就是定义一些常量,比如:数据库用户名、数据库密码、主机……,数据库连接类库(Db.class.PHP)和数据库操作类库(Model.class.PHP),附有使用方法。数据库结构一个主键、一个字段 name 即可。

(编辑:驾考网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章