nodejs 牛刀小试

来源:互联网 发布:零基础学大数据现实吗 编辑:程序博客网 时间:2024/05/16 14:03

目前在做一个用户登录验证的案例

参考了nodejs的权威指南还有 下载了一些其他案例,都是引用很多模板。对模板完全不熟悉的人表示压力巨大啊

也尝试着自己去写,带有java的惯性思维,我思考这个是不是也有一个类似ajax机制的一个东西,去百度,竟然也找到了。

真是弯路 弯路 再弯路啊

不多说上代码


用到的模板 express 数据库mysql

app.js

//用户校验
    socket.on('JudgeUser', function(nickName) {
    console.log("校验"+nickName);
    var insertSQL = "select * from yr_chart where ?"
    conn.query(insertSQL,{user_name:nickName},function (err1, rows) {
    if(err1){
    console.log("查询失败");
    }
if(rows.length>0){
socket.emit('userExisted');
}else{
  socket.emit('userNotExisted');
}
    })
});

    //用户注册
    socket.on('userRegist', function(nickName,password) {
//防止sql注入
conn.escape(nickName);
conn.escape(password);

//判断用户表中有没有该用户
var insertSQL = "select * from yr_chart where ?"
    conn.query(insertSQL,{user_name:nickName},function (err1, rows) {
    if(err1){
    console.log("查询失败");
    }
if(rows.length>0){
socket.emit('userExisted');
}else{

//插入
var insertSQL = "insert into yr_chart SET ?"
conn.query(insertSQL,{user_name:nickName,user_password:password},function (err1, res1) {
if(err1){
console.log("插入失败");
//提示该用户存在
socket.emit('registFail');
}else{
socket.emit('loginSuccess');
//注册成功直接登录
io.sockets.emit('system', nickName, users.length, 'login');
}

});
}
    })


    });
    //用户登录
    socket.on('login', function(nickname,password) {
        if (users.indexOf(nickname) > -1) {
            socket.emit('nickExisted');
        } else {
var insertSQL = "select * from yr_chart where user_name = ? and user_password =?"
console.log(nickname);
console.log(password);
conn.query(insertSQL,[nickname,password],function (err1, rows) {
if(err1){
console.log("登录查询失败");
}else{
if(rows.length>0){
socket.userIndex = users.length;
socket.nickname = nickname;
users.push(nickname);
socket.emit('loginSuccess');
io.sockets.emit('system', nickname, users.length, 'login');
console.log("登录查询成功");
}else{
socket.emit('userNotExisted');
 console.log("找不到该用户");
}
}
    })
        };
    });

做用户姓名验证直接发送姓名过去数据库查询就可以了 用不着ajax的

上边的代码不能直接用 你得建立数据库连接才行



0 0
原创粉丝点击