用户管理功能

11 篇文章 0 订阅
当是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`
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值