Nodejs使用coffeescript编写的用户注册/登陆代码(MySQL)
记录一下,以备后用
Settings = require '../../settings.js' exports.register = (req, res) -> nick_name = req.body.nick_name
email = req.body.email
password = req.body.password # 配置变量
table_name = 'user_info'
database = Settings.mysql.database # 获取当前时间
dateObj = new Date() year = dateObj.getFullYear()
month = dateObj.getMonth() + 1
day = dateObj.getDate()
hour = dateObj.getHours()
min = dateObj.getMinutes()
sec = dateObj.getSeconds() console.log month.length
date_str = year + '-' + month + '-' + day + ' ' + hour + ':' + min + ':' + sec
#console.log date_str # 选择使用的数据库
mysqldb.query('USE ' + database) # 判断邮箱,进行注册
sql = "select * from " + table_name + " where email = '" + email + "'"
console.log sql
mysqldb.query(sql, (err, data) ->
if (err)
return res.jsonp({"status":-1, "message":"数据库出错"})
else
if (data.length > 0)
return res.jsonp({"status":-2, "message":"邮箱已经存在"})
else
sql = "select * from " + table_name + " where nick_name = '" + nick_name + "'"
mysqldb.query(sql, (err, data) ->
if (data.length > 0)
return res.jsonp({"status":-3, "message":"昵称已存在"})
else
mysqldb.query(
'INSERT INTO ' + table_name + ' SET nick_name = ?, email = ?, ctime = ?, password = ?',
[nick_name, email, date_str, password])
return res.jsonp({"status":0, "message":"注册成功"})
)
) exports.login = (req, res) -> email = req.body.email
password = req.body.password # 配置变量
table_name = 'user_info'
database = Settings.mysql.database # 选择使用的数据库
mysqldb.query('USE ' + database) # 判断邮箱,进行注册
sql = "select * from " + table_name + " where email = '" + email + "'"
console.log sql
mysqldb.query(sql, (err, data) ->
if (err)
return res.jsonp({"status":-1, "message":"数据库出错"})
else
if (data.length == 0)
return res.jsonp({"status":-2, "message":"用户不存在"})
else
if (data[0].password == password)
return res.jsonp({"status":0, "message":"登陆成功"})
else
return res.jsonp({"status":-3, "message":"用户名或密码错误"})
)
Nodejs使用coffeescript编写的用户注册/登陆代码(MySQL)的更多相关文章
- 微信小程序_(校园视)开发用户注册登陆
微信小程序_(校园视) 开发用户注册登陆 传送门 微信小程序_(校园视) 开发上传视频业务 传送门 微信小程序_(校园视) 开发视频的展示页-上 传送门 微信小程序_(校园视) 开发视频的展示页-下 ...
- CoffeeScript编写简单新闻页(仅UI)
CoffeeScript编写简单新闻页(仅UI) 1. 配置(在公司搭建好的环境下配置) omnisocials-backend/src/backend/modules/member/config/m ...
- java 用户注册登陆Demo
一个用户注册登陆的系统,用到了MD5加密处理密码,实现了一个简单的数据库连接池connectionPool, 实现了注册,登陆,登陆之后修改用户信息等功能,非常适合初学者 一.准备工作 数据库:MyS ...
- 如何提升我的HTML&CSS技术,编写有结构的代码
前言 之前写了四篇HTML和CSS的知识点,也相当于是一个知识点汇总.有需要的可以收藏,平时开发过程中应该会遇到这些点,到时候再查看这些博客可能更容易理解.从这篇开始更多的介绍开发过程经常让人头痛的前 ...
- 深入理解JavaScript系列(1):编写高质量JavaScript代码的基本要点
深入理解JavaScript系列(1):编写高质量JavaScript代码的基本要点 2011-12-28 23:00 by 汤姆大叔, 139489 阅读, 119 评论, 收藏, 编辑 才华横溢的 ...
- 编写高质量JS代码的68个有效方法(八)
[20141227]编写高质量JS代码的68个有效方法(八) *:first-child { margin-top: 0 !important; } body>*:last-child { ma ...
- 编写高质量JS代码的68个有效方法(七)
[20141220]编写高质量JS代码的68个有效方法(七) *:first-child { margin-top: 0 !important; } body>*:last-child { ma ...
- 编写高质量JS代码的68个有效方法(六)
[20141213]编写高质量JS代码的68个有效方法(六) *:first-child { margin-top: 0 !important; } body>*:last-child { ma ...
- 编写高质量JS代码的68个有效方法(四)
[20141129]编写高质量JS代码的68个有效方法(四) *:first-child { margin-top: 0 !important; } body>*:last-child { ma ...
随机推荐
- 教你使用vim表白
99669999996669999996699666699666999966699666699 99699999999699999999699666699669966996699666699 9966 ...
- Java中的逆变与协变(转)
看下面一段代码 Number num = new Integer(1); ArrayList<Number> list = new ArrayList<Integer>(); ...
- Codeforces Round #256 (Div. 2) D. Multiplication Table
主题链接:http://codeforces.com/contest/448/problem/D 思路:用二分法 code: #include<cstdio> #include<cm ...
- 于XAML导入命名空间的代码
例如,下面的代码到指定的命名空间.不仅导入的命名空间,并且还为指定的命名空间前缀local.当然,你也可以指定一个前缀为另一个名称,这可以定义.导入后,市民可以在命名当前空间XAML使用代码.例如,在 ...
- 字符串属性 NSMutableAttributedString/NSAttributedString
因为iOS7新出的NSTextStorge是NSMutableAttributedString的子类.所以要用好NSTextStorage.首先要学好NSMutableAttributedString ...
- Ubuntu 当黑屏解决方案安装
前几天我就已经安装Red hat 企业版,只是可惜它并没有提供数据源.我能够安装自己的软件,但我不能完全靠解决,因此,我们决定改变系统,最后我选择ubuntu.随时下载系统.然后用u盘制作启动盘,全部 ...
- SSH框架总结(帧分析+环境结构+示例源代码下载)
首先,SSH不是一个框架.而是多个框架(struts+spring+hibernate)的集成,是眼下较流行的一种Web应用程序开源集成框架,用于构建灵活.易于扩展的多层Web应用程序. 集成SSH框 ...
- 网络资源(7) - JAX-WS视频
2014_08_25 http://v.youku.com/v_show/id_XNjMzNDcyMTk2.html 基于JAX-WS编程模型的WebService 1. @WebService注释类 ...
- erlang R17新socket选项{active,N}
erlang R17带来了新的socket选项{active,N} .与{active,once}连同应用层提供的流量控制.为什么会这样选择,{active,once}不能够有效地抑制了很多socke ...
- 锋利的KATANA
锋利的KATANA 阅读目录 ASP.NET 发展历程 走进Katana的世界 使用ASP.NET/IIS托管Katana-based应用程序 使用自定义Host(self-host)托管Katana ...