记录一下,以备后用

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)的更多相关文章

  1. 微信小程序_(校园视)开发用户注册登陆

    微信小程序_(校园视) 开发用户注册登陆 传送门 微信小程序_(校园视) 开发上传视频业务 传送门 微信小程序_(校园视) 开发视频的展示页-上 传送门 微信小程序_(校园视) 开发视频的展示页-下 ...

  2. CoffeeScript编写简单新闻页(仅UI)

    CoffeeScript编写简单新闻页(仅UI) 1. 配置(在公司搭建好的环境下配置) omnisocials-backend/src/backend/modules/member/config/m ...

  3. java 用户注册登陆Demo

    一个用户注册登陆的系统,用到了MD5加密处理密码,实现了一个简单的数据库连接池connectionPool, 实现了注册,登陆,登陆之后修改用户信息等功能,非常适合初学者 一.准备工作 数据库:MyS ...

  4. 如何提升我的HTML&CSS技术,编写有结构的代码

    前言 之前写了四篇HTML和CSS的知识点,也相当于是一个知识点汇总.有需要的可以收藏,平时开发过程中应该会遇到这些点,到时候再查看这些博客可能更容易理解.从这篇开始更多的介绍开发过程经常让人头痛的前 ...

  5. 深入理解JavaScript系列(1):编写高质量JavaScript代码的基本要点

    深入理解JavaScript系列(1):编写高质量JavaScript代码的基本要点 2011-12-28 23:00 by 汤姆大叔, 139489 阅读, 119 评论, 收藏, 编辑 才华横溢的 ...

  6. 编写高质量JS代码的68个有效方法(八)

    [20141227]编写高质量JS代码的68个有效方法(八) *:first-child { margin-top: 0 !important; } body>*:last-child { ma ...

  7. 编写高质量JS代码的68个有效方法(七)

    [20141220]编写高质量JS代码的68个有效方法(七) *:first-child { margin-top: 0 !important; } body>*:last-child { ma ...

  8. 编写高质量JS代码的68个有效方法(六)

    [20141213]编写高质量JS代码的68个有效方法(六) *:first-child { margin-top: 0 !important; } body>*:last-child { ma ...

  9. 编写高质量JS代码的68个有效方法(四)

    [20141129]编写高质量JS代码的68个有效方法(四) *:first-child { margin-top: 0 !important; } body>*:last-child { ma ...

随机推荐

  1. 苦B的程序猿道路数据验证

    发生了什么 再一次苦B程序猿和苦C程序猿结对话发生编程周期 此代码: public void deleteAllExtendAclsFromContent(String contentId) thro ...

  2. 跨域 Iframe 通信解决方案(兼容 IE 系列浏览器。)

    实现思路: 1.postMessage(IE8+, Firefox 3.1+, Opera 9+, Safari, and Chrome) 2.利用window.navigator共享信息,使支持IE ...

  3. RH253读书笔记(6)-Lab 6 Implementing Web(HTTP) Services

    Lab 6 Implementing Web(HTTP) Services Goal: To implement a Web(HTTP) server with a virtual host and ...

  4. ASP.NET MVC4实现URL伪静态

    1.在Web.config添加节点配置: <system.webServer> <modules runAllManagedModulesForAllRequests="t ...

  5. Linux网络编程一站式学习

    提要 学过非常多遍计算机网络,依旧不会网络编程. 看完这篇文章之后就不会是这样了. 环境:Ubuntu14.04 64bit 何为Socket 是基于TCP/IP的网络应用编程中使用的有关数据通信的概 ...

  6. Android 墙纸设置代码 详细说明

    使游戏图像列表.思考添加壁纸功能.我发了一些资料. 1 别忘记在ApplicationManifest.xml 中加上权限的设置. <uses-permission android:name = ...

  7. IOS开发——Protocol使用协议

    protocol ['prəutəkɔl] (样例:http://blog.sina.com.cn/s/blog_6aafe9c90100yozz.html ) 一.说明  两个类进行通讯,用协议就比 ...

  8. [.Net Tools] 超強大的封裝工具 Advanced Installer

    原文:[.Net Tools] 超强大的封装工具Advanced Installer 日前在网路上晃到这家公司的产品http://www.advancedinstaller.com/,就直接下载并且安 ...

  9. MySQL分页实现

    mysql> select pname from product; +--------+ | pname  | +--------+ | 产品1  | | 产品2  | | 产品三 | +--- ...

  10. JSCover+WebDriver/Selenium获得JS 代码覆盖

    我们看JSCover(http://tntim96.github.io/JSCover/manual/manual.xml)介绍及使用说明的时候,往往被图形界面所吸引.这样的方式比較适合手工操作,点击 ...