jQuery Validate Remote Method pour la vérification de la disponibilité du nom d'utilisateur
Comment pouvez-vous utiliser la méthode distante dans jQuery Validate pour vérifier si un nom d'utilisateur existe dans un base de données ?
Scénario :
Considérez le scénario suivant :
$("#signupForm").validate({ rules: { username: { required: true, minlength: 3, remote: "check-username.php" } }, messages: { username: { remote: "This username is already taken! Try another." } } });
<?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); ?>
Problème :
Malgré le code ci-dessus, le champ nom d'utilisateur affiche toujours une erreur, même lorsque le nom d'utilisateur n'est pas dans le champ base de données.
Solution :
Le code PHP d'origine était inefficace pour vérifier la disponibilité du nom d'utilisateur. La version modifiée suivante résout le problème :
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; ?>
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!