NODE.JS结合MySQL实现简单的注册登陆demo

一、首先,肯定是安装MYSQL、NODE.JS,其实这两个东西都可以通过下载解压,手动配置好环境变量就可以直接使用了。也就是推荐下载.zip文件,不推荐下载.msi直接安装。

二、再就是node.js的相关升级,以及npm、mysql驱动,按照菜鸟教程的步骤去试就可以了。

三、mysql刚开始可以匿名登陆,但是最好把匿名登陆的帐号删掉,做法是通过

mysql -u root -p,回车登陆以后

use mysql;切换database

select user,password from user;可以看到有三个root账户和一个空账户(即匿名用户)

delete from user where user ='';删掉匿名用户

update user set password = password('1234') where user='root';将密码修改为1234

记住要flush privileges;不然要重启才能看见或使用修改后的数据。

 

搭建简单项目:

1.在node_modules同级目录下建一个文件夹,D:\nodejs\personal  ,在这个文件夹下160444_LUqL_3442347.png

建这么几个文件,

login.js代码:

/**
 * Created by linziyu on 2017/7/8.
 */
/**
 * express接收htm传递的参数
 */
 
var express=require('express');
var app=express();
var mysql=require('mysql');
 
/**
 * 配置MySql
 */
var connection = mysql.createConnection({
 host  : '127.0.0.1',
 user  : 'root',
 password : '1234',
 database : 'yan1',
 port:'3306'
});
connection.connect();
app.get('/',function (req,res) {
 res.sendfile(__dirname + "/" + "index.htm" );
})
 
/**
 * 实现登录验证功能
 */
app.get('/login',function (req,res) {
 var name=req.query.name;
 var pwd=req.query.pwd;
 
 var selectSQL = "select * from user where uname = '"+name+"' and pwd = '"+pwd+"'";
 connection.query(selectSQL,function (err,rs) {
  if (err) throw err;
  console.log(rs);
  console.log('OK');
  if(rs[0]==undefined){
  res.sendfile(__dirname + "/" + "notOK.htm" );
  }else{
     res.sendfile(__dirname + "/" + "OK.htm" ); 
  }
 })
})
 
app.get('/register.htm',function (req,res) {
 res.sendfile(__dirname+"/"+"register.htm");
})
 
/**
 * 实现注册功能
 */
app.get('/register',function (req,res) {
 var name=req.query.name;
 var pwd=req.query.pwd;
 var user={uname:name,pwd:pwd};
 connection.query('insert into user set ?',user,function (err,rs) {
  if (err) throw err;
  console.log('ok');
  res.sendfile(__dirname + "/" + "index.htm" );
 })
})
 
 
 
var server=app.listen(7744,function () {
 console.log("start");
}) 

index.htm代码:

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>Title</title>
</head>
<body>
  <form action="http://127.0.0.1:7744/login">
    <input type="text" name="name"/>
    <input type="text" name="pwd"/>
   <input type="submit" value="commit"/>
  </form>
 <a href="register.htm" rel="external nofollow" >register</a>
 
</body>
</html> 

register.htm代码:

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>Title</title>
</head>
<body>
<form action="http://127.0.0.1:7744/register">
 <input type="text" name="name"/>
 <input type="text" name="pwd"/>
 <input type="submit" value="commit"/>
</form>
</body>
</html> 

notOK.htm代码:

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>Title</title>
</head>
<body>
This  user   is not exist!
</body>
</html> 

OK.htm代码:

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>Title</title>
</head>
<body>
Login  success!
</body>
</html> 

然后启动  node  login.js,登陆网址 http://127.0.0.1:7744/ 就可以观察了。

补充:可以改成使用post方式提交,只需要改提交方式并且加一个

var bodyParser = require('body-parser');
// 创建 application/x-www-form-urlencoded 编码解析
var urlencodedParser = bodyParser.urlencoded({ extended: false })

即可,使用req.body.name;的方式来获取数据,菜鸟教程  Express框架那章有讲。

 

Web博客:Hexo(node.js的应用)

Hexo 是一个简单地、轻量地、基于Node的一个静态博客框架。通过Hexo我们可以快速创建自己的博客,仅需要几条命令就可以完成。

发布时,Hexo可以部署在自己的Node服务器上面,也可以部署github上面。对于个人用户来说,部署在github上好处颇多,不仅可以省 去服务器的成本,还可以减少各种系统运维的麻烦事(系统管理、备份、网络)。所以,基于github的个人站点,正在开始流行起来….

转载于:https://my.oschina.net/u/3442347/blog/1489104

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值