用户管理功能
程序员文章站
2022-03-07 19:50:42
...
当是admin时 ,进入后台 /admin
index.ejs
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Author" content="">
<meta name="Keywords" content="">
<meta name="Description" content="">
<title>Document</title>
</head>
<body>
<h1>首页</h1>
<% if( locals.login ) {%>
<h1><%= locals.login %>已经登陆</h1>
<% if( locals.admin ) { %>
当前是admin <a href="/admin">进入后台</a>
<% } %>
<img src="images/1.gif">
<a href="/logout">退出</a>
<% }else{ %>
<a href="/login">登陆</a>
<a href="/reg">注册</a>
<% } %>
</body>
</html>
访问/admin ⇒ admin.js
const express = require('express'),
router = express.Router(),
sql = require("../module/mysql");
// sql('INSERT INTO `phone` (`id`,`number`, `name`, `phone`) VALUES (0,?,?,?)')
router.get('/',(req,res)=>{
// 访问首页.
// console.log(typeof req.session.admin); //string
res.locals.admin = req.session.admin;
res.render('index.ejs');
});
// 退出
router.get('/logout',(req,res)=>{
// 清除cookie
res.clearCookie('login');
// 跳转到首页 redirect网址重定向
res.redirect('/');
})
// 管理用户admin.js
router.use('/admin',require('./admin'));
// 注册交给login.js
router.use('/reg',require('./reg'));
// 登陆
router.use('/login',require('./login'));
module.exports = router;
后台管理admin,具体操作
const express = require("express"),
router = express.Router(),
sql = require('../module/mysql.js');
router.get("/",(req,res)=>{
// 检测是否是管理员
if(req.session.admin){
res.render('admin/admin.ejs');
}else{
res.send("请登陆管理员账号");
}
});
router.get('/user',(req,res)=>{
// 访问admin/user
sql('SELECT * FROM `user`',(err,data)=>{
if(err){
res.send('数据查询错误');
return;
};
// console.log(data);//[{},{}]
res.locals.data = data;
res.render('admin/user');
});
})
router.post('/user',(req,res)=>{
let id = req.body.id;
// console.log(id);
// 删除.
sql('DELETE FROM `user` WHERE `id` = ?', [id] ,(err,data)=>{
res.json({
result:'删除成功'
})
});
})
// 修改
router.get('/user/update',(req,res)=>{
// console.log(req.query); //传值
sql('SELECT * FROM `user` WHERE `id` = ? ',[req.query.id],(err,data)=>{
if(err){
res.send('数据查询错误');
return;
};
res.locals.data = data;
res.render('admin/update');
});
});
// 'UPDATE `book`.`user` SET `name` = ?, `admin` = ? WHERE `user`.`id` = ?;'
router.post('/user/update',(req,res)=>{
// console.log(req.body);
const id = req.body.id,
name = req.body.name,
admin = req.body.admin;
sql('update `user` set `name`= ? ,`admin` = ? where `id`= ?;',[name,admin,id],(err,data)=>{
res.send("修改成功");
})
})
module.exports = router;
删除,修改和页面传值
响应user.ejs ,update.ejs
删除
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<script src='/js/jquery.js'></script>
</head>
<body>
<h1>这里是用户管理</h1>
<table border="1" style='border-collapse: collapse; margin-left: 20px;'>
<tr>
<td>id</td>
<td>name</td>
<td>admin</td>
<td>删除</td>
<td>修改</td>
</tr>
<% for(var i in locals.data){ %>
<tr>
<td><%= locals.data[i]['id'] %></td>
<td><%= locals.data[i]['name'] %></td>
<td><%= locals.data[i]['admin'] %></td>
<td><button class="del" name="<%= locals.data[i]['id'] %>" >删除</button></td>
<!-- 给/admin/update传值 ?id=<%= locals.data[i]['id'] %> -->
<td><a href="/admin/user/update?id=<%= locals.data[i]['id'] %>" class="update">修改</a></td>
</tr>
<% } %>
</table>
<script>
$(".del").click(function(){
$.ajax({
url:'/admin/user',
type:'post',
dataType: 'json',
data: {
id: $(this).attr("name")
},
success(data){
console.log(data);
}
})
})
</script>
</body>
</html>
修改
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<script src='/js/jquery.js'></script>
</head>
<body>
<h1>用户修改</h1>
<form action='/admin/user/update' method="post">
<table border="1" style='width: 600px; margin-left: 20px; border-collapse: collapse; text-align: center;'>
<tr>
<td>序号</td>
<td>name</td>
<td>修改</td>
<td>admin</td>
<td>修改</td>
</tr>
<tr>
<td><input type="text" name="id" style='display:none; border: none; outline: none;' value="<%= locals.data[0]['id'] %>"><%= locals.data[0]['id'] %></td>
<td><%= locals.data[0]['name'] %></td>
<td><input type="text" name="name" style='border: none;'></td>
<td><%= locals.data[0]['admin'] %></td>
<td><input type="text" name="admin" style='border: none;'></td>
</tr>
<tr>
<td colspan="5" ><input type="submit" name="submit"></td>
</tr>
</table>
</form>
</body>
</html>
数据库实现代码
// <!-- mysql -->
// <!-- 创建 -->
// 创建 表 哪个数据库 表名
CREATE TABLE `node`.`user`(
自动增长
`id` INT NOT NULL AUTO_INCREMENT,
`username` varchar(64) NOT NULL ,
`pass` varchar(64) NOT NULL ,
主键
PRIMARY KEY (`id`)
)
ENGINE = InnoDB CHARSET = utf8;
<!-- mysql增删改查 -->
// 增
// 固定代码 哪个表 key
INSERT INTO `wenzhagn` (`id`, `username`, `pass`) VALUES ('1', 'wulv', '123')
// 删article表 因为id是唯一的 id = 0
DELETE FROM `article` WHERE `id` = 0
// 改 id为15的这一条数据里 content的内容
update `xxxx` set `username`='112313' where `id`=6666
//多个 用逗号隔开
update `user` set `name`= ? ,`admin` = ? where `id`= ?;
// 查询shuoshuo这个表里的所有内容
SELECT * FROM `shuoshuo`
上一篇: php中怎么把美国时间转为北京时间?
下一篇: php怎么实现日历