jQuery Valider à distance l'utilisation de la méthode pour vérifier si le nom d'utilisateur existe déjà
Je veux valider si le nom d'utilisateur existe dans la base de données à l'aide de jQuery.valider alors, voici ce que j'ai à ce jour:
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);
?>
Ce code indique toujours une erreur que le nom d'utilisateur est pris même si elle ne l'est pas.
Je suis à l'aide de jQuery Mobile 1.9.1
Merci d'avance.
- Pouvez-vous expliquer la question un peu plus? La partie semble fonctionner, et ce qui ne fonctionne pas?
- Sur la page d'inscription, il ne vérifie pas si l'utilisateur est pris.
- Ouvrez l'onglet réseau. Est une demande adressée à la page "check-username.php" sur soumettre? si oui, quel est le code de la réponse (200,404,500 etc.) et qu'est-ce que le contenu de la réponse?
- D'accord, je suis désolé à ce sujet, il n'y avait pas les demandes envoyées à check-username.php le fichier a été au mauvais endroit. J'ai corrigé, mais maintenant il toujours afficher que le nom d'utilisateur est pris même si elle n'est pas!
Vous devez vous connecter pour publier un commentaire.
J'ai réussi à obtenir que cela fonctionne en modifiant le PHP technique, j'ai été en utilisant, voici mon PHP:
Merci à tous pour votre aide 🙂
J'ai deux ressources pour les regarder.
Officiel de l'exemple de la validation de plugin:
http://jquery.bassistance.de/validate/demo/milk/
jQuery solution de forum:
http://forum.jquery.com/topic/jquery-validation-plugin-remote-validation-problem-locks-up
La solution possible est que la réponse n'a pas besoin d'être encodé en json pour autant que je peux dire. Depuis json besoins de paires clé-valeur, suppling juste la valeur ne fonctionne pas. Donc, essayez de vous echo comme 'true' ou 'false' cordes.
Deuxièmement, le fait de valider utilise pour OBTENIR la méthode de soumission du formulaire, pas de POST.
NOTE: JUSTE TROUVÉ SOLUTION POSSIBLE À LA QUESTION
jQuery de validation à Distance