PHP+AJAX实时检查帐号是否被注册代码

三月 06, 2019 | views
Comments 0

实时检查帐号是否被注册代码是现在WEB应用中用到非常多的一个功能,这样主要是为用户体验好了,不要等待用户提交数据时再告诉对方说已经被注册了,这样非常的不错了,我们可以在用户输入完之后就验证了,下面来看一个简单的例子.

数据库部分:

  1. CREATE TABLE `username_list` ( 
  2.  
  3.   `id` int(11) NOT NULL auto_increment, 
  4.  
  5.   `username` varchar(60) character set latin1 NOT NULL
  6.  
  7.   PRIMARY KEY  (`id`) 
  8.  
  9. ) ENGINE=MyISAM  DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=1 ; 

js代码:

  1. <script type="text/<a href="/js_a/js.html" target="_blank">javascript</a>">  $(document).ready(function() {      $("#username").keyup(function (e) {                //removes spaces from username          $(this).val($(this).val().replace(/s/g, ''));                    var username = $(this).val();          if(username.length < 4){$("#user-result").html('');return;}                    if(username.length >= 4){              $("#user-result").html('<img src="imgs/ajax-loader.gif" />');              $.post('check_username.php', {'username':username}, function(data) {                $("#user-result").html(data);              });          }      });   });   
  2. </script>  

XML/HTML Code

  1. <div id="registration-form">    <label for="username">输入帐号:    <input name="username" type="text" id="username" maxlength="15">    <span id="user-result"></span>    </label>    <br>输入的字符大于等于4才会检测   
  2. </div> 

check_username.php

  1. <?php   
  2.     
  3. <a href="/tags.php/include/" target="_blank">include</a>_once("conn.php");   
  4.    
  5. //check we have username post var   
  6.     
  7. if(isset($_POST["username"]))   
  8.     
  9. {   
  10.     
  11.     //check if its ajax <a href="/tags.php/request/" target="_blank">request</a>, exit script if its not   
  12.     
  13.     if(!isset($_SERVER['HTTP_X_REQUESTED_WITH']) AND strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) != 'xmlhttprequest') {   
  14.     
  15.         die();   
  16.     
  17.     }   
  18.  
  19.     //trim and lowercase username   
  20.     
  21.     $username =  strtolower(trim($_POST["username"]));    
  22.   
  23.     //sanitize username   
  24.     
  25.     $username = filter_var($username, FILTER_SANITIZE_STRING, FILTER_FLAG_STRIP_LOW|FILTER_FLAG_STRIP_HIGH);   
  26.  
  27.     //check username in db   
  28.     
  29.     $results = mysql_query("SELECT id FROM username_list WHERE username='$username'");   
  30.     
  31.     //return total count   
  32.     
  33.     $username_exist = mysql_num_rows($results); //total records   
  34.  
  35.     //if value is more than 0, username is not available   
  36.     
  37.     if($username_exist) {   
  38.     
  39.         die('<img src="imgs/not-available.png" />');   
  40.     
  41.     }else{   
  42.     
  43.         die('<img src="imgs/available.png" />');   
  44.     
  45.     }  
  46.     
  47.     //close db connection 
  48. }  
  49. ?>



zend