Maison > base de données > tutoriel mysql > Pourquoi ma méthode jQuery Validate Remote ne détecte-t-elle pas les noms d'utilisateur uniques ?

Pourquoi ma méthode jQuery Validate Remote ne détecte-t-elle pas les noms d'utilisateur uniques ?

Mary-Kate Olsen
Libérer: 2024-12-13 07:08:12
original
798 Les gens l'ont consulté

Why Isn't My jQuery Validate Remote Method Detecting Unique Usernames?

jQuery valide la méthode à distance ne détectant pas les noms d'utilisateur existants

Lorsque vous tentez de vérifier le caractère unique des noms d'utilisateur dans une base de données à l'aide du cadre de validation de jQuery, des divergences peuvent survenir. La méthode distante, lorsqu'elle tente de déterminer si un nom d'utilisateur donné existe déjà, peut systématiquement signaler qu'il existe, quel que soit l'état réel.

Mauvaise configuration et résolution

En inspectant le code fourni, il devient Il est évident que le problème provient du script PHP chargé de vérifier la base de données. Voici une analyse du script PHP révisé :

require_once "./source/includes/data.php";
header('Content-type: application/json');
$username = mysql_real_escape_string($_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;
Copier après la connexion

Les révisions se concentrent principalement sur la résolution de la requête SQL défectueuse. La requête originale utilisée dans le script initial tentait de rechercher un nom d'utilisateur qui n'avait pas été échappé de manière sécurisée, le rendant vulnérable aux attaques par injection. Le script révisé utilise mysql_real_escape_string pour échapper correctement le nom d'utilisateur avant d'interroger la base de données.

De plus, la structure de requête remaniée utilise mysql_num_rows pour compter les résultats de la requête SQL, lui permettant ainsi de déterminer avec précision si le nom d'utilisateur existe déjà dans le base de données. Si le résultat est 0, le nom d'utilisateur est considéré comme unique et la variable $valid est définie sur true. Sinon, il est défini sur false.

En employant ce script PHP révisé, la méthode distante de validation de jQuery peut déterminer correctement si un nom d'utilisateur existe déjà dans la base de données, garantissant ainsi que des noms d'utilisateur uniques sont appliqués lors de l'enregistrement de l'utilisateur.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal