欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

用户管理功能

程序员文章站 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`
相关标签: 管理