javascript - 为什么密码存不到数据库上。。
阿神
阿神 2017-06-26 10:48:57
0
3
729

用户名能存上,但是密码存不上。。。刚学照猫画虎写的,不知道哪里错了。。
首先:$("#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字段是否是字符串类型比如VARCHARCHAR或者TEXT类型。

滿天的星座

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

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板