​​nodejs+express+mysql(后台实例项目练习—搭建项目)​​

接着上一篇 实现 数据库链接 

数据库链接 

创建链接数据库js 记得要npm install mysql 

创建在app.js同级

module.exports=db; 设置对外接口.. 

//sql_db.js
var mysql = require('mysql');
var db =mysql.createConnection({
host:'localhost',
port:3306,
user:'root',
password:'root',
database:'sys_db'
});
module.exports=db;

网页跳转

在路由index.js里写 登录验证

这里因为在访问结束的时候  写了一个DB.end 报了一个错误

​​node-mysql: connect时的”Cannot enqueue Handshake after already enqueuing a Hand shake”错误​​

前台Login.ejs 用的post 提交表单 到/login   

body 是express独有的属性 能获得前台数据

//index.js
var express = require('express');
var router = express.Router();
var db = require('../sql_db.js');

/* GET home page. */
router.get('/', function(req, res, next) {
res.render('sys_login', { title: 'Express' });
});
router.post('/login',function(req,res,next)
{
var username = req.body.username;
var password = req.body.password;

db.query('select * from loginuser where username=? and password=?',[username,password],function(err,results)
{
if(err)
{
console.log(err);
}else if(results.length>0)
{

//界面转到index界面
res.render('sys_index.ejs');
}
})


})

module.exports = router;

nodejs+express+mysql(后台实例项目练习2—数据库链接 网页跳转 iframe框架路径问题 模板引擎 )_nodejs

 iframe框架路径问题

上面登录后 界面发现头部加载没有问题 但是中间部分 加载失败了

找了一下原因

nodejs+express+mysql(后台实例项目练习2—数据库链接 网页跳转 iframe框架路径问题 模板引擎 )_mysql_02

解决:

1)修改成路径

<iframe src="/adduser" id="mainframe" width="100%" height="600px" scrolling="no"></iframe>

2)修改app.js

因为我不想从新弄一个路由 直接用users 的 这样 当localhost:端口号/的时候 就会访问下面俩个路由

// app.use('/', indexRouter);
// app.use('/users', usersRouter);
app.use('/', [indexRouter,usersRouter]);

3)修改users.js 路由

 这里就和 frame 标签 src="/adduser"  匹配上 并加载user_add.ejs界面 

就是这个项目里 所有frame标签 src="/adduser" 就会加载 user_add.ejs

var express = require('express');
var router = express.Router();

/* GET users listing. */
router.get('/adduser', function(req, res, next) {
res.render('user_add.ejs');
});

module.exports = router;

模板引擎

​​express中ejs模板的基本使用​​(意外金喜)

修改index.ejs 里的登录信息为数据库实时信息

nodejs+express+mysql(后台实例项目练习2—数据库链接 网页跳转 iframe框架路径问题 模板引擎 )_数据库链接_03

在index.js路由转换界面的时候传入对象

router.post('/login',function(req,res,next)
{
var username = req.body.username;
var password = req.body.password;

db.query('select * from loginuser where username=? and password=?',[username,password],function(err,results)
{
if(err)
{
console.log(err);
}else if(results.length>0)
{
//界面转到index界面
res.render('sys_index.ejs',{username:results[0]['userName']});
}
})


})
<div class="logo_text">欢迎系统管理员: <span><%=username%></span> 
<%=(new Date()).getFullYear()%>年<%=(new Date()).getMonth()%>月<%=(new Date()).getDate()%>日  <% var weekday=["星期日","星期一","星期二","星期三","星期四","星期五","星期六"];var day= weekday[(new Date()).getDay()]%>
<%-day%></div>

相对比较简单

十一去沈阳溜达 十月十二去西安溜达

nodejs+express+mysql(后台实例项目练习2—数据库链接 网页跳转 iframe框架路径问题 模板引擎 )_nodejs_04