2009-08-17 7 views
5

Je sais que c'est possible mais je suis confus quant à la façon dont cela fonctionne. Je suis à la recherche en ligne pour la façon dont il est fait et je pense que je manque quelque chose dans le processusjQuery vérifier la base de données mysql si le nom d'utilisateur est déjà pris

J'ai ce code jQuery jusqu'à présent:

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

Comment devrais-je écrire ma page php pour faire parler au code jQuery?

Jusqu'à présent, j'ai:

$name = mysql_real_escape_string($name); 

$query = "SELECT USERNAME FROM T_MEMBER WHERE USERNAME='$name';"; 
$res = mysql_query($query); 
if (mysql_num_rows($res) > 0) { 
    return false; 
} else 
    return true; 

Comment puis-je obtenir la variable $ name du javascript? Dois-je configurer la "télécommande" pour qu'elle soit POST?

Merci à l'avance, Ian McCullough

Répondre

4

Votre page PHP communique de nouveau au Javascript juste par la sortie des données. Selon le plug-in, vous pouvez obtenir un true/false en faisant écho à 1 ou 0, ou peut-être même la chaîne true ou false

Le manuel dit:

La réponse est évaluée comme JSON et doit être true pour les éléments valides, et peut être tout false, undefined or null pour les éléments non valides

vous pouvez changer votre PHP à ceci:

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

merci! il me manquait le json_encode(); –

Questions connexes