2012-02-13 5 views
0

私はデータベースにユーザ名が存在するかどうかを確認するためにbvalidator(jquery validation plugin)を使用しています。彼らはその文書の例を持っています。しかし、私はそれがどのように機能するのか分かりません。その例については、ここでもっと読むことができます: http://karmela.fsb.hr/~bmauser/bvalidator/documentation.html#serversidevalidationユーザ名がbvalidator(jquery validation plugin)であることを確認してください

私は自分で作成しようとしました。しかし、それはいつもユーザー名は何に関係なく、すでに取られていると私に伝えています...私はAJAXに関しては完全な初心者です。私はそれをほとんど知らない。とにかく、ここで私が作成したものだ、これまで...

のindex.php(メインページ)

<script type="text/javascript"> 
$(document).ready(function() { 
$('#register').bValidator(optionsRed); 
}); 
function checkUsername(username) { 
    $.post("checkusername.php", { username: username }, function(data) { 
     if (data == 0) { 
      ret = true; 
     } else { 
      ret = false; 
     } 
     return ret; 
    }); 
} 
</script> 

<input type="text" name="username_register" id="textstyleid" data-bvalidator="checkUsername,required,rangelength[5:20]" data-bvalidator-msg="This username is not valid or already taken."/> 

checkusername.php(小切手のユーザ名が存在する場合)

<?php 

require '../connect.inc.php'; 
if (isset($_POST['username'])) { 
$username = mysql_real_escape_string($_POST['username']); 
if (!empty($username)) { 
$username_query = mysql_query("SELECT COUNT(uid) FROM users WHERE username='$username'"); 
$username_result = mysql_result($username_query, 0); 

if ($username_result == 0) { 
return 0; 
} else if ($username_result == 1) { 
return 1; 
} 
} 
} 

?> 

編集 404エラーが発生しました。私はそれを修正した。 PHPとAJAXが動作しています。プレビューに入力されたテキストに応じて0または1が表示されます。しかし、この問題は依然として存在します。私は、このコード行のためだと思う。私はそれが何を意味するのか本当に理解していない。 ?データ何である:それを見た後

if (data == 0) { 
    ret = true; 
} else { 
    ret = false; 
} 
return ret; 
+0

あなたがサーバからクライアントに返され、私たちのためにこれを掲示している正確に何を見つけるために放火犯/シオマネキのようなものを使用してもらえてみ? –

+0

firefox for firefoxを使用するか、またはchromeまたはIE(press F12)の開発ツール... AJAXリクエストを確認して、ポストに入ったものとPHPスクリプトによって返されたものを特定することができます。あなたはAJAXかPHPの問題かどうかを知ることができます... –

+0

編集を参照してください。 –

答えて

0

さらなる問題は、あなたのPHPで、あなたは0 RECSが返さと比較するために、あなたの結果の周りにはmysql_num_rowsを使用する必要があり、結果オブジェクト自体は、UAのリソースIDを与えますアウトecho'ed場合

+0

結果をエコーし​​てみました。それはうまく動作します。 $ usernameをデータベースに存在するユーザー名文字列に置き換えました。 1を返しました。また、$ usernameをデータベースに存在しないユーザー名文字列に置き換えようとしました。 PHPコードに問題はないと思います。 –

0

この1

if (data == 0) { 
    echo json_encode(TRUE); 
} else { 
    echo json_encode(FALSE); 
} 
関連する問題