2012-10-05 3 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이 데이터베이스에서 사용자 이름을 확인해야 할 때 찾고있는 것입니다. 이것은 내가 전혀 오류를 얻지 못하는 방법입니다. 전에 아약스 나 자바 스크립트로는 해본 적이 없다고 말해야 만합니다. 그래서 당신이 나를 더 도울 수 있다면 큰 도움이 될 것입니다.

더 알고 싶은 것이 있으면 언제든지 물어보십시오.

+1

질문을 올바르게 형식화하는 데 시간이 좀 걸리므로 엉망이되었습니다. – elclanrs

+0

죄송합니다. 나는 다음 시간에 더 잘 할 것이고 다음 시간에 더 많은 시간을 들여서 만들 것이다. –

답변

0

if($count = 0)은 로직에 영향을주는 경우 if($count == 0)이어야합니다.

+0

나는 그것을 지금까지 해왔다. 도움이되지 않는다. ( –

0

$brugernavn 후에 사용하고 있습니다. ajaxComplete를 사용

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

여기에 도움이되지 않습니다 :

if($count = 0) 

:

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

당신은 당신이 비교해야하는 위치를 할당하는

귀하의 자바 스크립트는 0 또는 1이지만 PHP 스크립트는 1 또는 2 중 하나를 출력합니다.

+0

나는 0과 1에 대해서 맞다. 어떤 PHP가 어디에서 사용하는지 확인합니다. 어떻게 그럴 수 있습니까? –