设为首页 收藏本站
查看: 822|回复: 0

[经验分享] ajax之用户名唯一性验证的实现(php)

[复制链接]

尚未签到

发表于 2017-4-8 08:03:34 | 显示全部楼层 |阅读模式
用户名唯一性验证的实现 在一些需要用户注册的系统中,由于系统需要保证用户名的唯一性,在注册时往往需要检查用户名。在一些使用传统方式设计的网站中,往往需要提交整个页面来进行用户名唯一性的检查。这种方式虽然可以正确检测用户名的唯一性,但是对于用户的友好度比较差。
使用Ajax进行用户名唯一性检查可以在不影响用户表单填写的情况下执行,大大增加了表单的友好度。以下代码是一个进行用户名唯一性验证的例子。


  • <html>

  • <head>

  • <title>AjaxExample</title>

  • <scripttype="text/javascript">

  • varxmlobj;//定义XMLHttpRequest对象

  • functionCreateXMLHttpRequest()

  • {

  • if(window.ActiveXObject) //如果当前浏览器支持ActiveXobject,则创建ActiveXObject对象

  • {

  • xmlobj=newActiveXObject("Microsoft.XMLHTTP");

  • }

  • elseif(window.XMLHttpRequest)//如果当前浏览器支持XMLHttpRequest,则创建XMLHttpRequest对象

  • {

  • xmlobj=newXMLHttpRequest();

  • }

  • }

  • functionValidate()//主程序函数

  • {

  • CreateXMLHttpRequest();//创建对象

  • varshowurl="validate.php?username="+document.getElementById("username").value;//构造URL

  • xmlobj.open("GET",showurl,true);//调用validate.php

  • xmlobj.onreadystatechange=StatHandler;//判断URL调用的状态值并处理

  • xmlobj.send(null);//设置为不发送给服务器任何数据

  • }

  • functionStatHandler()//用于处理状态的函数

  • {

  • if(xmlobj.readyState==4&&xmlobj.status==200)//如果URL成功访问,则输出网页

  • {

  • if(xmlobj.responseText=="1")//检查用户名是否有效

  • {

  • document.getElementById("msg").innerHTML="<fontcolor=RED>该用户名已被人使用</font>";

  • }

  • elseif(xmlobj.responseText=="0")

  • {

  • document.getElementById("msg").innerHTML="<fontcolor=GREEN>该用户名未被人使用</font>";

  • }

  • else

  • {

  • document.getElementById("msg").innerHTML="<fontcolor=RED>用户名验证程序出错</font>";

  • }

  • }

  • }

  • </script>

  • </head>

  • <body>

  • <p><formaction="">

  • 用户名:<inputtype="text"id="username">

  • <inputtype="button"value="用户名验证"onclick="Validate();">

  • <divid="msg"></div>

  • </form></p>

  • </body>

  • </html>



上面的代码通过请求validate.php来执行用户名的唯一性验证,并根据validate.php的返回内容来决定用户名是否唯一,代码如下所示。


  • <?php

  • $conn=mysql_connect("localhost","root","");

  • $user=$_GET['username'];

  • $querySQL="SELECT*FROMusersWHEREusername='$user'";

  • mysql_select_db("cms",$conn);

  • $rs=mysql_query($querySQL,$conn)ordie("Error");

  • $rs_cnt=mysql_num_rows($rs);

  • echo$rs_cnt;

  • ?>


运行结果如图50-6所示。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-361696-1-1.html 上篇帖子: 完美的flex+php上传文件实例【转】 下篇帖子: 一份 PHP 面试题,据说是雅虎的
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表