Méthode jQuery Validate Remote pour vérifier la disponibilité du nom d'utilisateur
Avec jQuery Validate, vous pouvez valider si un nom d'utilisateur existe déjà dans votre base de données à l'aide de la télécommande méthode. Voici un exemple :
jQuery :
$("#signupForm").validate({ rules: { username: { required: true, minlength: 3, remote: { url: "check-username.php", type: "post" } } }, messages: { username: { remote: "This username is already taken! Try another." } } });
check-username.php:
<?php header('Content-type: application/json'); $username = $_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; ?>
Quand un L'utilisateur entre son nom d'utilisateur, jQuery enverra une requête à check-username.php avec le nom d'utilisateur. Le script PHP vérifiera si le nom d'utilisateur existe dans la base de données. Si c'est le cas, il renverra false, indiquant que le nom d'utilisateur est pris. Sinon, il retournera vrai.
Cependant, dans le code fourni par l'utilisateur, une erreur se produit lorsque vous essayez de vérifier si le nom d'utilisateur existe. L'erreur provient de la ligne :
$check_for_username = mysql_query("SELECT username FROM mmh_user_info WHERE username='$name'");
Au lieu d'utiliser mysql_query, vous devez utiliser une instruction préparée pour empêcher les attaques par injection SQL :
$stmt = $mysqli->prepare("SELECT username FROM mmh_user_info WHERE username=?"); $stmt->bind_param("s", $name);
Le script PHP corrigé ressemblerait à ceci :
execute()) { $stmt->store_result(); if ($stmt->num_rows() > 0) { $output = true; } else { $output = false; } } else { $output = false; } $stmt->close(); $mysqli->close(); echo json_encode($output); ?>
Ce script devrait maintenant vérifier avec précision si le nom d'utilisateur existe dans la base de données et renvoyer la réponse correcte à jQuery Validez.
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!