2014-06-26 34 views
0

我想驗證用戶名是否在我的數據庫中,但沒有工作。我在我的數據庫中添加用戶名,但是當我驗證它的show用戶名可用時現在要做什麼。我把我的代碼用戶名驗證不能正常工作

那Dbconnector.php

<?php 

class DbConnector { 

    var $theQuery; 
    var $link; 

    function DbConnector(){ 

      // Get the main settings from the array we just loaded 
      $host = 'host'; 
      $db = 'cms'; 
      $user = 'root'; 
      $pass = ''; 

      // Connect to the database 
      $this->link = mysql_connect($host, $user, $pass); 
      mysql_select_db($db); 
      register_shutdown_function(array(&$this, 'close')); 

     } 

     //*** Function: query, Purpose: Execute a database query *** 
     function query($query) { 

      $this->theQuery = $query; 
      return mysql_query($query, $this->link); 

     } 

     //*** Function: fetchArray, Purpose: Get array of query results *** 
     function fetchArray($result) { 

      return mysql_fetch_array($result); 

     } 

     //*** Function: close, Purpose: Close the connection *** 
     function close() { 

      mysql_close($this->link); 

     } 

    } 

    ?> 

那就是Check.php

<?php 
include("dbConnector.php"); 
$connector = new DbConnector(); 

$username = trim(strtolower($_POST['username'])); 
$username = mysql_escape_string($username); 

$query = "SELECT Username FROM admin WHERE Username = '$username' LIMIT 1"; 
$result = $connector->query($query); 
$num = mysql_num_rows($result); 

echo $num; 
mysql_close(); 

?> 

和這就是我的index.php

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 
<title>Papermashup.com | jQuery PHP Username Checker</title> 
<link href="../style.css" rel="stylesheet" type="text/css" /> 

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.js"></script> 
<script> 
$(document).ready(function(){ 
$('#username').keyup(username_check); 
}); 

function username_check(){ 
var username = $('#username').val(); 
if(username == "" || username.length < 4){ 
$('#username').css('border', '3px #CCC solid'); 
$('#tick').hide(); 
}else{ 

jQuery.ajax({ 
    type: "POST", 
    url: "check.php", 
    data: 'username='+ username, 
    cache: false, 
    success: function(response){ 
if(response == 1){ 
    $('#username').css('border', '3px #C33 solid'); 
    $('#tick').hide(); 
    $('#cross').fadeIn(); 
    }else{ 
    $('#username').css('border', '3px #090 solid'); 
    $('#cross').hide(); 
    $('#tick').fadeIn(); 
     } 

} 
}); 
} 



} 

</script> 

<style> 
#username{ 
    padding:3px; 
    font-size:18px; 
    border:3px #CCC solid; 
} 

#tick{display:none} 
#cross{display:none} 


</style> 
</head> 

<body> 



Here are some usernames that have been put in the database:<br/><br /> 

Hammad, Huzaifa , Hanzlah<br/><br/> 

Username: <input name="username" id="username" type="text" /> 
<img id="tick" src="tick.png" width="16" height="16"/> 
<img id="cross" src="cross.png" width="16" height="16"/> 


</body> 
</html> 
+0

其工作在演示[檢查此演示和源代碼](http://papermashup.com/jquery-php-mysql-username-availability-checker/) – Hammad

回答

0

我認爲這個問題是與您的HTML和Js。

首先添加一個表格,並給它一個ID例如#load然後把<input...../>的形式。

現在將您的Jquery.ajax({ url:更改爲url +'check.php?'+$("#load").serialize()

嘗試一下,並確保使用Js控制檯來檢查是否發送ajax請求及其反饋。