Le nom d'utilisateur peut être enregistré, mais le mot de passe ne peut pas être enregistré. . . Je viens d'apprendre à écrire comme un chat et un tigre, et je ne sais pas où je me suis trompé. .
Tout d'abord : $("#psw").val() peut obtenir la valeur.
code js :
functionregist(){
$.ajax({
url:"/h51702/cui/shuai/regist4ajax", type:"get", data:{ username:$("#username").val(), psw:$("#psw").val(), }, success:function(res){ alert(res); if(res=="成功"){ location.href = "/h51702/cui/shuai/login"; }else{ //alert(res.msg); } } }) }else{ alert("信息输入有误,请重新填写") } }
code php :
fonction publique regist4ajax($username="",$psw=""){
$userItem = Db::query('select * from users where username=?',[$username]); //$userItem = db("users")->where('username',$username)->find(); if(empty($userItem)){ $result = Db::execute('insert into users(username,psw) values (?,?)',[$username,$psw]); if($result){ return "成功"; } return"失败"; }else{ return "用户名已经注册"; } }
Dans la base de données :
id int(11) AI PK
username varchar(45)
psw varchar(45)
creat_date datetime
De nombreux problèmes peuvent survenir, notamment la structure de votre formulaire et de votre base de données.
Parlons de la méthode de base de localisation des erreurs. Il y a plusieurs étapes dans l'ensemble de l'enregistrement :
Obtenir les données dans la page》Transfert Ajax vers la page d'exécution》La page d'exécution demande des modifications à la base de données》Stockage de la base de données
Prenez vos données étape par étape pour confirmer, par exemple, si $("#psw").val() obtient réellement les informations de mot de passe, puis si la page de réception ajax reçoit réellement ces données, puis exécute le code Quel type de la requête a été exécutée et si cette requête peut être exécutée avec succès directement dans la base de données. En suivant cette étape par étape et en trouvant sur quelle étape vous êtes bloqué, il sera plus facile de découvrir où se situe le problème.
Il peut y avoir des erreurs aux endroits suivants, veuillez vérifier vous-même les fonctions spécifiques.
$("#psw").val()
Avez-vous vraiment obtenu la valeur de la zone de saisie du mot de passePuisque vous avez dit que le nom d'utilisateur peut être enregistré, je pense que vous auriez dû obtenir les données en arrière-plan. Quant à la raison pour laquelle le mot de passe n'est pas enregistré, veuillez vérifier si le champ d'accès au mot de passe dans votre base de données correspond.
Jetez également un œil à votre type de base de donnéespsw
,这个要和'insert into users(username, psw) values (?, ?)'
这里面的psw
psw
字段是否是字符串类型比如VARCHAR
、CHAR
或者TEXT
Pourquoi devons-nous utiliser la méthode get pour soumettre le nom d'utilisateur et le mot de passe ?
Utilisez plutôt post, puis voyez si post reçoit les données.