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 ...
随机推荐
- 仿建行JS键盘
一款比较好用的JS密码输入脚本,效果图如下: 代码如下: <html> <head> <script> /*js文件*/ window.onload=functio ...
- 一步一步写一个简单通用的makefile(四)--写一个通用的makefile编译android可执行文件
通常要把我们自己的的代码编译成在android里面编译的可执行文件,我们通常是建一个文件夹 . ├── Android.mk ├── Application.mk ├── convolve.cl ├─ ...
- 使用DNSAgent拦截特定域名
开发程序时,为方便测试,需要把本来发往abc.com的数据发到本地. 最简单的方法是直接在程序中修改,把abc.com修改为需要的地址. 但这样提交代码时,容易把调试地址给提交到服务器. 或是嵌入式设 ...
- 一个简单的DELPHI程序注册码设计 .
当你辛辛苦苦用DELPHI做好了一个你认为十分不错的程序,你是否想把它发布出去成为共享软件呢 做为一个共享软件,注册码肯定是少不了的,你可以通过判断程序是否注册来进行功能,时间或一些其它限制.现在就 ...
- 基于TCP协议的服务器(单线程)
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import ...
- Java--创建线程及常用方法
继承java.lang.Thread类--Thread类代表线程类 它的常用方法如下: static Thread currentThread():返回当前正在运行的线程对象的引用. static ...
- dnspod-sr内网轻量级DNS首选方案 - 运维生存时间
dnspod-sr内网轻量级DNS首选方案 - 运维生存时间 undefined
- Ubuntu下Django初体验(一)——开发环境搭建
一.开发 环境搭建 1. linux下一般有自带的python,如果对版本不满意,可以再自行安装. 2. 安装ipython(推荐) sudo apt-get install ipython sudo ...
- HighCharts 后台加载数据的时候去掉默认的 series
var chart; var options = { chart: { renderTo: 'container', type:'line' }, title: { text: '历史趋势时序图', ...
- poj 3608 Bridge Across Islands
题目:计算两个不相交凸多边形间的最小距离. 分析:计算几何.凸包.旋转卡壳.分别求出凸包,利用旋转卡壳求出对踵点对,枚举距离即可. 注意:1.利用向量法判断旋转,而不是计算角度:避免精度问题和TLE. ...