当前位置:首页 > PHP教程 > php应用 > 列表

ajax+php验证用户名重复代码实例

发布:smiling 来源: PHP粉丝网  添加日期:2014-09-11 21:50:59 浏览: 评论:0 

本教程是一款利用了ajax php在用户输入完用户名后,就会发送请求给php程序,然后查询数据,判断用户要注册的用户名是不是己经注册或存在重复了,及时的返回提示信息,以免用户填写了一大填表单后,突然提供用户名不能注册己被注册了,这样体验就不好了,本教程就是专门解决这个问题了,能快速的告诉你要注册的用户名是否可以注册.

  1. <!doctype html public "-//w3c//dtd xhtml 1.0 transitional//en" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd"
  2. <html xmlns="http://www.phpfensi.com/1999/xhtml"
  3. <head> 
  4. <meta http-equiv="content-type" content="text/html; charset=gb2312" /> 
  5. <title>ajax+php验证用户名重复代码实例</title> 
  6. <script language="javascript"
  7. function createxmlhttprequest(){//创建xmlhttprequest对象 
  8.  if(window.activexobject){//ie 
  9.   try { 
  10.    return new activexobject("microsoft.xmlhttp"); 
  11.   } catch(e){ 
  12.    return
  13.   } 
  14.  }else if(window.xmlhttprequest){//mozilla,firefox 
  15.   try { 
  16.    return new xmlhttprequest(); 
  17.   } catch(e){ 
  18.    return
  19.   } 
  20.  } 
  21. function getrenews(value){//主调函数 
  22.  var xmlhttp=createxmlhttprequest(); 
  23.  var url = "13.php?action=check&title="+value+"&mt="+math.random(300000); 
  24.  if (value==""){   
  25.   return false ; 
  26.  } 
  27.  if (xmlhttp){ 
  28.   callback = getreadystatehandler(xmlhttp); 
  29.   xmlhttp.onreadystatechange = callback; 
  30.   xmlhttp.open("get", url,true); 
  31.   xmlhttp.send(null); 
  32.  } 
  33. function getreadystatehandler(xmlhttp){//服务器返回后处理函数 
  34.  return function (){ 
  35.   if(xmlhttp.readystate == 4){ 
  36.    if(xmlhttp.status == 200){ 
  37.        alert(xmlhttp.responsetext); 
  38.      if (xmlhttp.responsetext==1){ 
  39.        document.getelementbyid("checkid").innerhtml="<font color='red'>对不起,用户名己存在!</font>";      
  40.      }else
  41.       document.getelementbyid("checkid").innerhtml="可以注册";      
  42.      }       
  43.    } 
  44.   } 
  45.  } 
  46. </script> 
  47. </head> 
  48. <body> 
  49. <table width="75%" border="0"
  50.   <tr> 
  51.     <td width="12%">输入用户名</td> 
  52.     <td width="36%">     
  53.       <input type="text" name="username" id="username" onblur="getrenews(this.value);" /> 
  54.     </td> 
  55.     <td width="52%" id="checkid">&nbsp;</td> 
  56.   </tr> 
  57. </table> 
  58. </body> 
  59. </html> 

把下面代码保存忝13.php,代码如下:

  1. <?php 
  2. checkusername(); 
  3. function checkusername() 
  4.  $title = trim($_get['title']); 
  5.  ifemptyempty$title ) ) 
  6.  { 
  7.   return false; 
  8.  } 
  9.  else 
  10.  { 
  11.   mysql_connect('localhost','root','root'); 
  12.   mysql_select_db('test'); 
  13.   mysql_query("set names 'gb2312'"); 
  14.   $sql = "select * from cn_user where username ='$title'"
  15.    
  16.   $row = mysql_query($sql); 
  17.    
  18.   if( mysql_num_rows( $row ) ) 
  19.   { 
  20.    echo 1; 
  21.   } 
  22.   else 
  23.   { 
  24.    return null; 
  25.   } 
  26.  } 
  27. }
  28. ?>

创建数据库SQL代码如下:

  1. create table `test`.`cn_user` (  
  2. `id` int not null auto_increment ,  
  3. `username` varchar( 20 ) not null ,  
  4. `times` date null ,  
  5. primary key ( `id` )   
  6. ) engine = myisam  
  7. //插入数据  
  8. insert into `test`.`cn_user` (  
  9. `id` ,  
  10. `username` ,  
  11. `times`   
  12. )  
  13. values (  
  14. null , 'jimmy'null   
  15. ), (  
  16. null , 'www.phpfensi.com'null   
  17. );

Tags: ajax+php验证用户名 用户名重复

分享到:

相关文章