2012-10-05 49 views
0

我創建一個系統,檢查(通過AJAX)是否已經使用了給定的用戶名。如果是這樣,則它相應地提醒用戶。我基於我的系統this教程,並嘗試將其調整到我的網站。用戶名檢查頁面

$(document).ready(function()//When the dom is ready 
{ 
    $("#username").change(function() 
    { //if theres a change in the username textbox 

    var username = $("#username").val();//Get the value in the username textbox 
    if(username.length > 3)//if the lenght greater than 3 characters 
    { 
     $("#availability_status").html('<img src="loader.gif" align="absmiddle">&nbsp;Checking availability...'); 
     //Add a loading image in the span id="availability_status" 

     $.ajax({ //Make the Ajax Request 
     type: "POST", 
     url: "ajax_check_username.php", //file name 
     data: "username="+ username, //data 
     success: function(server_response){ 

      $("#availability_status").ajaxComplete(function(event, request){ 

      if(server_response == '0')//if ajax_check_username.php return value "0" 
      { 
       $("#availability_status").html('<img src="available.png" align="absmiddle"> <font color="Green"> Available </font> '); 
       //add this image to the span with id "availability_status" 
      } 
      else if(server_response == '1')//if it returns "1" 
      { 
       $("#availability_status").html('<img src="not_available.png" align="absmiddle"> <font color="red">Not Available </font>'); 
      } 

      }); 
     } 

     }); 

    } 
    else 
    { 

     $("#availability_status").html('<font color="#cc0000">Username too short</font>'); 
     //if in case the username is less than or equal 3 characters only 
    } 
    return false; 
    }); 
}); 

ajax_check_username.php - 這裏就是我想我有問題!

<?php 
include ("inc/db/db.php"); 

if($stmt = $mysqli->prepare('SELECT NULL FROM `bruger` WHERE `brugernavn` = ?')) 
{ 
    $stmt->bind_param('s', $brugernavn); 
    $brugernavn = $_POST["brugernavn"]; 
    $stmt->execute(); 
    $stmt->store_result(); 
    $count = $stmt->num_rows; 
    $stmt->close(); 
    if($count = 0) 
    { 
    echo '1'; 
    } 
    else 
    { 
    echo '2'; 
    } 
} 
?> 


<tr> 
    <td><p>Brugernavn</p></td> 
    <td><input type="text" name="brugernavn" id="username"></td> 
    <td><span id="availability_status"></span></td> 
</tr> 

注意 我想我已經在我的PHP犯過錯誤,所以它可能是爲什麼它不打擾做什麼,我想..但我認爲這只是。

這是我的HTML查找當我需要檢查數據庫中的用戶名。這是我沒有得到任何錯誤。必須說,我從來沒有玩過Ajax或JavaScript。所以如果你能進一步幫助我,這將是一個很大的幫助。

隨意問你是否還有更多你想知道的東西。

+1

請花一些時間來正確地設置您的問題的格式,這是一個爛攤子... – elclanrs

+0

對不起。下次我會做得更好,下次我可能會花更多時間做下一個 –

回答

0

這個if($count = 0)應該是if($count == 0)如果這會影響你的邏輯。

+0

我已經完成了,並且沒有幫助:( –

0

您正在分配$brugernavn之後您正在使用它。

$stmt->bind_param('s', $brugernavn); 
$brugernavn = $_POST["brugernavn"]; 

使用ajaxComplete是沒有用在這裏:

$("#availability_status").ajaxComplete(function(event, request){ 

您正在分配,你應該比較:

if($count = 0) 

您的Javascript預計01,但您的PHP腳本輸出12之一。

+0

我對它的權利爲0和1,但是關於什麼PHP在哪裏檢查使用,我會怎麼做呢? –