用戶名能存上,但是密碼存不上。 。 。剛學照貓畫虎寫的,不知道哪裡錯了。 。
首先:$("#psw").val()是可以取到值的。
js程式碼:
function regist(){
$.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("信息输入有误,请重新填写")
}
}
php程式碼:
public function 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 "用户名已经注册";
}
}
資料庫中:
id int(11) AI PK
username varchar(45)
psw varchar(45)
creat_date datetime
可能出錯的地方很多,你的表單,資料庫結構都不知道。
說說基本錯誤定位方法,整個註冊有幾個步驟:
頁面內獲取資料》ajax傳輸到執行頁》執行頁請求資料庫變更》資料庫儲存
帶著你的數據一步步走來確認,比如$("#psw").val() 是不是真的獲取了密碼信息,然後ajax 接收頁是不是真的就收到這個數據,然後執行代碼到底執行了一條什麼樣的query,這條query 直接在資料庫執行能不能成功。這麼一步步走,找到哪一步卡住了,就容易找出問題所在了。
可能在以下幾個地方出錯,具體職能靠自己排查了。
$("#psw").val()
是否真的取得了密碼輸入框的值由於你說用戶名能存上,所以我覺得你後台應該是獲取到了數據,至於為啥密碼沒存上,你看下你數據庫中密碼訪問字段是不是
psw
,這個要和'insert into users(username, psw) values (?, ?)'
這裡面的psw
對應另外,你看下你的資料庫
psw
欄位是否是字串型別例如VARCHAR
、CHAR
或TEXT
型別。為啥要用get方式提交使用者名稱和密碼呢?
改用post吧,然後看post是否接收到了資料。