问题描述
- 用node+express4写了个简单的登录注册页面,但是出现了个bug不知道怎么解决? 10C
- 写了个登录注册的简单页面,但是当我第一次注册完以后不管怎么注册都说用户已存在
我的代码:
//存储用户信息User.prototype.save = function(callback){ var user = { name:this.name email:this.email password:this.password }; mongodb.open(function(errdb){ if(err){ return callback(err); } db.collection('users'function(errcollection){ if(err){ mongodb.close(); return callback(err); } collection.insert(user{ safe:true }function(erruser){ mongodb.close(); if(err){ return callback(err); } callback(null user[0]); }); }); });};//获取用户信息User.get = function(name callback){ mongodb.open(function(errdb){ if(err){ return callback(err); } db.collection(""users""function(errcollection){ if(err){ mongodb.close(); return callback(err); } collection.findOne({ name: name }function(erruser){ mongodb.close(); if(err){ return callback(err); } callback(null user); }); }); });};
router.get('/signup'function(reqresnext){ res.render('signup'{ title: '注册' user:req.session.user success:req.flash('success').toString() error:req.flash('error').toString() });});router.post('/signup'function(reqres){ var name = req.body.name password = req.body.password password_re = req.body['password-repeat']; if(password_re != password){ req.flash('error''两次输入的密码不一样!'); return res.redirect('/signup'); } //生成md5 //var md5 = crypto.createHash('md5') // password = md5.update(req.body.password).digest('hex'); var newUser = new User({ name:req.body.name password:req.body.password email:req.body.email }); User.get(newUser.namefunction(erruser){ if(user){ req.flash('error''用户已经存在!'); return res.redirect('/signup'); } newUser.save(function(erruser){ if(err){ req.flash('error'err); return res.redirect('/signup'); } req.session.user = user; req.flash('success''注册成功!'); res.redirect('/'); console.log(password); }); });});
解决方案
http://www.cnblogs.com/Leo_wl/p/4361289.html
时间: 2024-09-12 13:28:16