搜索

首页  >  问答  >  正文

javascript - 为什么密码存不到数据库上。。

用户名能存上,但是密码存不上。。。刚学照猫画虎写的,不知道哪里错了。。
首先:$("#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

阿神阿神2834 天前783

全部回复(3)我来回复

  • 怪我咯

    怪我咯2017-06-26 10:50:57

    可能出错的地方很多,你的表单,数据库结构都不知道。

    说说基本错误定位方法,整个注册有几个步骤:
    页面内获取数据》ajax传输到执行页》执行页请求数据库更改》数据库储存

    带着你的数据一步步走来确认,比如 $("#psw").val() 是不是真的获取了密码信息,然后 ajax 接收页是不是真的就收到这个数据,然后执行代码到底执行了一条什么样的 query,这条 query 直接在数据库执行能不能成功。这么一步步走,找到哪步卡住了,就容易找出问题所在了。

    回复
    0
  • 某草草

    某草草2017-06-26 10:50:57

    可能在以下几个地方出错,具体职能靠自己排查了。

    1. $("#psw").val()是否真的获取到了密码输入框的值

    2. 由于你说用户名能存上,所以我觉得你后台应该是获取到了数据,至于为啥密码没存上,你看下你数据库中密码存取字段是不是psw,这个要和'insert into users(username, psw) values (?, ?)'这里面的psw相应

    3. 另外,你看下你的数据库psw字段是否是字符串类型比如VARCHARCHAR或者TEXT类型。

    回复
    0
  • 滿天的星座

    滿天的星座2017-06-26 10:50:57

    为啥要用get方式提交用户名和密码呢?
    改用post吧,然后看post是否接收到了数据。

    回复
    0
  • 取消回复