js操作数据库实现注册和登陆
自从node-js出现之后,不只是java,php等后端语言可以操作数据库,进行内容的增删改查,javascript简本语言同样具备了该项技能,而且在node下,js具备了很强的操作性和代码的阅读性,让晦涩难懂的代码变得更加的清晰了,下面我简单介绍javascript如何操作数据库进行登录注册功能的实现。
首先,页面部分就直接省略了,我们默认已经安装数据库了,开始从注登录说起。
exports.login =function(req,res){
var username=req.body.uname;
var pwd=req.body.psd;
var sql="select * from student where username=? and password=?";
var con=dbcon.getCon();
con.query(sql,[username,pwd], function (err,result) {
if(!err){
if(result.length==0){
res.json(0);
}else{
res.json(1)
}
}else{
console.log(err)
}
con.destroy()
})
};
首先,点击登录按钮,我们跳转到登录页面,通过获取到用户输入的input值,通过下标的方法取得输入的username和pwd的值,通过连接数据库,判断回调函数返回的状态值,如果成功,给予提示用户注册成功,紧接着进行页面的跳转,如果出现异常,给出提示,并相应的跳转到错误页面,在此处我们可以使用try{}catch(){}方法进行拦截,打印出具体的错误信息。
紧接着,我们再来讲一下注册的操作,顾名思义,注册就是将原本不存在于数据库的用户资料通过数据库的insert语句插入数据库中,道理和登录有些类似,首先,我们需要输入需要注册的信息,然后获取到这些信息,然后再发送一个异步请求验证数据库是否有这些资料,如果没有的话就直接创建这些资料。下面我们使用代码来说明这些原理。
exports.regists=function(req,res,name,password){
var sql="insert into stuinfo(name,password) values(?,?)"
conn.query(sql,[name,password],function(err,result){
if(result.affectedRows==1){
req.session.name=name;
res.sendfile('./public/view.html')
}
})
}
exports.login=login;
首先,我们将注册这个方法进行封装,然后通过node的exports进行导出,便于被调用,在这个方法里面,通过占位符的方法插入username和password,然后通过数据库,将获取的参数值进行插入,通过回调函数状态码的判断,确认插入成功,并在成功之后将我们注册成功的session显示在页面作为标识。
以上就是js简单的登录注册的代码,其中涉及到的知识点不只是上述提到的,还包括了数据库的基本知识,了解基本的sql查询语句,并能通过js成功连接数据库。我们始终相信万丈高楼平地起,只要去哦们一步一个脚印,总有一天,可以成为自己乃至别人眼中的高手。
js操作数据库实现注册和登陆的更多相关文章
- node.js操作数据库之MongoDB+mongoose篇
前言 node.js的出现,使得用前端语法(javascript)开发后台服务成为可能,越来越多的前端因此因此接触后端,甚至转向全栈发展.后端开发少不了数据库的操作.MongoDB是一个基于分布式文件 ...
- 使用navicat for mysql图形界面操作数据库、使用node.js操作数据库写接口
1.先启动MYSQL服务 2.打开navicat for mysql, 点击链接,输入如下的内容: 3.新建数据表 4.数据库(新建一个db.js) //数据库链接配置 module.exports ...
- node.js操作数据库
var sys = require('sys'); var Client = require('mysql').Client; var client = new Client(); client.us ...
- Async.js解决Node.js操作MySQL的回调大坑
因为JavaScript语言异步特性.在使用Node.js运行非常多操作时都会使用到回调函数,当中就包含訪问数据库.假设代码中的业务逻辑略微复杂一点,回调一层层嵌套.那么代码非常easy进入Callb ...
- [荐]使用Js操作注册表
使用Js操作注册表 要操作注册表需要通过ActiveX控件调用WScript.shell对象,通过该对象的一些方法来操作. WshShell对象:可以在本地运行程序.操纵注册表内容.创建快捷方式或访问 ...
- 使用node js 操作 Mysql 数据库
使用node js 操作 Mysql 数据库 http://www.nodejs.org/ //node js 数据库操作 MySQL //使用https://github.com/felixge/n ...
- jsp页面:js方法里嵌套java代码(是操作数据库的),如果这个js 方法没被调用,当jsp页面被解析的时候,不管这个js方法有没有被调用这段java代码都会被执行?
jsp页面:js方法里嵌套java代码(是操作数据库的),如果这个js 方法没被调用,当jsp页面被解析的时候,不管这个js方法有没有被调用这段java代码都会被执行? 因为在解析时最新解析的就是JA ...
- 分步引导中,Js操作Cookie,实现判断用户是否第一次登陆网站
上一篇介绍了分布引导插件IntroJs的使用,本篇介绍通过Js操作cookie的方法. 分步引导的功能只适合与第一次登陆网站的新用户,不能每次登陆都提示分布引导,那么如何判断用户是否第一次登录网站呢? ...
- Electron中使用sql.js操作SQLite数据库
推荐sql.js——一款纯js的sqlite工具. 一.关于sql.js sql.js(https://github.com/kripken/sql.js)通过使用Emscripten编译SQLite ...
随机推荐
- ORA-00368 ORA-00353 ORA-00312
在昨天客户突然打电话过来,说系统进不去了,经过咨询发现是Oracle数据库没启动起来,经过一番折腾,最终弄好了. 解决方法还是在网络上的一般方法,最磨人的是Oracle的一个redo日志文件出现问题, ...
- .net常見面試題(二)
一.选择题 1. 下面叙述正确的是___C___. A.算法的执行效率与数据的存储结构无关 B.算法的空间复杂度是指算法程序中指令(或语句)的条数 C.算法的有穷性是指算法必须能在执行有限个步骤之后终 ...
- Bzoj 3295: [Cqoi2011]动态逆序对 分块,树状数组,逆序对
3295: [Cqoi2011]动态逆序对 Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 2886 Solved: 924[Submit][Stat ...
- OpenCL memory object 之 Global memory (2)
转载自:http://www.cnblogs.com/mikewolf2002/archive/2011/12/18/2291584.html 当我们用clCreateBuffer, clCreate ...
- cygwin下安装hadoop0.20
安装时选择软件包: editor-两个VIM.base-SED.Net-OPENSSH.OPENSSL.libs-libintl3和libintl8 环境变量: path=%JAVA_HOME%\bi ...
- poj 1995 Raising Modulo Numbers【快速幂】
Raising Modulo Numbers Time Limit: 1000MS Memory Limit: 30000K Total Submissions: 5477 Accepted: ...
- php 写一个水仙花数的函数
判断一个数是不是水仙花数 <?php function is_shuixianhua($i) { $length=strlen($i); $i=(string)$i; $sum=0; for($ ...
- Java Development Kit(JDK) 8 新特性(简述)
一.接口的默认方法 Java 8允许我们给接口添加一个非抽象的方法实现,只需要使用 default关键字即可,这个特征又叫做扩展方法. 示例如下: interface Formula { calcul ...
- java数据结构之hash表
转自:http://www.cnblogs.com/dolphin0520/archive/2012/09/28/2700000.html Hash表也称散列表,也有直接译作哈希表,Hash表是一种特 ...
- 利用UI_APPEARANCE统一设置UITabBarItem样式
-(void)setupTabBarItemAttributes{ //attributes NSMutableDictionary *selectedAttrs= [NSMutableDiction ...