javascript - 為什麼密碼存不到資料庫上。 。
阿神
阿神 2017-06-26 10:48:57
0
3
728

用戶名能存上,但是密碼存不上。 。 。剛學照貓畫虎寫的,不知道哪裡錯了。 。
首先:$("#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

#
阿神
阿神

闭关修行中......

全部回覆(3)
刘奇

可能出錯的地方很多,你的表單,資料庫結構都不知道。

說說基本錯誤定位方法,整個註冊有幾個步驟:
頁面內獲取資料》ajax傳輸到執行頁》執行頁請求資料庫變更》資料庫儲存

帶著你的數據一步步走來確認,比如$("#psw").val() 是不是真的獲取了密碼信息,然後ajax 接收頁是不是真的就收到這個數據,然後執行代碼到底執行了一條什麼樣的query,這條query 直接在資料庫執行能不能成功。這麼一步步走,找到哪一步卡住了,就容易找出問題所在了。

某草草

可能在以下幾個地方出錯,具體職能靠自己排查了。

  1. $("#psw").val()是否真的取得了密碼輸入框的值

  2. 由於你說用戶名能存上,所以我覺得你後台應該是獲取到了數據,至於為啥密碼沒存上,你看下你數據庫中密碼訪問字段是不是psw,這個要和 'insert into users(username, psw) values (?, ?)'這裡面的psw對應

  3. 另外,你看下你的資料庫psw欄位是否是字串型別例如VARCHARCHARTEXT型別。

滿天的星座

為啥要用get方式提交使用者名稱和密碼呢?
改用post吧,然後看post是否接收到了資料。

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板