2013-05-16 8 views
6

が存在するかどうかを確認しますjQueryの検証リモートメソッドの使用ユーザ名がすでに私は、ユーザー名は私がこれまで持っているものですので、ここでjQuery.validateを使用してデータベースに存在するかどうかを検証したい

のjQuery:

$("#signupForm").validate({ 
     rules: { 
      username: { 
       required: true, 
       minlength: 3, 
       remote: "check-username.php" 
       } 
      }, 
     messages: { 
      username:{ 
       remote: "This username is already taken! Try another." 
      } 
     } 
    }); 

check-をusername.php:

<?php 

require_once "./source/includes/data.php"; 
header('Content-type: application/json'); 

$name = mysql_real_escape_string($_POST['username']); 

$check_for_username = mysql_query("SELECT username FROM mmh_user_info WHERE username='$name'"); 

if (mysql_num_rows($check_for_username) > 0) { 
    $output = true; 
} else { 
    $output = false; 
} 
echo json_encode($output); 
?> 

このコードは常にユーザ名は、それがない場合でも、取られるというエラーが表示されます。

私はjQueryのモバイルに事前に1.9.1

感謝を使用しています。

+2

あなたはもう少し質問を説明できますか?どの部分がうまくいくと思われますか? – CP510

+0

登録ページでは、ユーザーが取得されたかどうかを確認しません。 – MacLover

+0

ネットワークタブを開きます。送信時に "check-username.php"ページにリクエストが送信されましたか?そうであれば、レスポンスコードは何ですか(200,404,500など)、レスポンスの内容は何ですか? – Matanya

答えて

5

私はこれは私が使っていたPHP技術を変更することにより、仕事を得ることができた、ここに私のPHPですあなたの助け:)

2

私は見るための2つのリソースがあります。検証プラグインから

公式例: http://jquery.bassistance.de/validate/demo/milk/

jQueryのフォーラムソリューション: http://forum.jquery.com/topic/jquery-validation-plugin-remote-validation-problem-locks-up

可能な解決策は、応答が私の知る限りエンコードJSONする必要がないことです。 jsonはキーの値のペアを必要とするため、値を供給するだけでは機能しません。ですから、それを「真」または「偽」の文字列としてエコーアウトしてみてください。

第2に、validateは、POSTではなくフォーム送信メソッドに対してGETを使用します。

注:のためにここに

<?php 
require_once "./source/includes/data.php"; 
header('Content-type: application/json'); 
$request = $_REQUEST['username']; 

$query = mysql_query("SELECT * FROM mmh_user_info WHERE username ='$username'"); 
$result = mysql_num_rows($query); 
if ($result == 0){ 
$valid = 'true';} 
else{ 
$valid = 'false'; 
} 
echo $valid; 
?> 

みんなありがとう:JUST FOUND実行可能な解決法QUESTIONが jQuery Remote validation

+0

申し訳ありませんが、私はあなたが提供したすべてを試しましたが、まだ運がありません:( – MacLover

+0

私はjQuery Mobileを使用しています...何かが変更された場合.. – MacLover

+0

まあ、実際には少し不便です。そうでなければ、彼らは私たちを修正するために自由に感じるべきです:) – CP510

関連する問題