注册查询
<!-- 向数据库查询 -->
// 如果有 返回 查询到的数据 [{}]; ==> 不可注册. 没有 返回 空[]
<!-- res.render( ,{}) -->
//另一种向模板 传递数据的方法: res.locals 当没有数据 ejs不会报错.
访问/login router/login.js
const express = require('express'),
router = express.Router(),
sql = require('../module/mysql');
router.get('/', (req,res)=>{
res.render('login');
})
//接收浏览器的数据
router.post('/', (req,res)=>{
const user = req.body.user,
pass = req.body.pass;
//注册 检测数据库 WHERE检测条件
sql('SELECT * FROM user WHERE name = ?',[user],(err,data)=>{
console.log(data);
// 如果有 返回 查询到的数据 [{}]; ==> 不可注册. 没有 返回 空[]
if(data.length === 0){ //可以注册
// 插入数据库
sql('INSERT INTO `user` (`id`, `name`, `pass`) VALUES (0,? ,?)',[user,pass],(err,data)=>{
if(err){
res.render('err');
return;
}
//另一种向模板 传递数据的方法: res.locals 当没有数据 ejs不会报错.
res.locals.data = '<h1>成功</h1>';
res.render('login');
});
}else{//不可注册
// res.render('err');
res.locals.data = '<h1>该name已有人注册过</h1>';
res.render('login');
}
});
})
module.exports = router
模板login.ejs
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<h1>注册</h1>
<%- locals.data %>
<form action="/login" method='post'>
<input type="text" name="user">
<input type="text" name="pass">
<input type="submit" name="">
</form>
</body>
</html>