day8/ server2.js

const http = require("http");

const mysql = require("mysql");

const fs = require("fs");

const url = require("url");

const validator = require("./tools/validator");

let db = mysql.createPool({

    host: "localhost",

    user: "root",

    password: "123456",

    database: "20190301"

});

http.createServer((req, res) => {

    const { pathname, query } = url.parse(req.url, true); // {host: ....,pathname:..,query:{}}

    /*

    const username = query.username;

    const psw = query.psw;*/

    // 拿到参数

    const { username, psw } = query;

    if (pathname == "/reg") {

        // 数据校验

        let err = validator.username(username);

        if (err) {

            res.write(err);

        } else {

            err = validator.psw(psw);

            if (err) {

                res.write(err);

            } else {

                // 检查用户名是否用过

                db.query(`SELECT ID FROM student WHERE stuname='${username}'`, (err, data) => {

                    if (err) {

                        res.write("数据库有误");

                    } else if (data.length > 0) {

                        res.write("用户名已存在");

                    } else {

                        // 没有被注册 可以注册

                        db.query(`INSERT INTO student(stuname,psw) VALUES ('${username}','${psw}')`, (err, data) => {

                            if (err) {

                                res.write("数据库有误");

                            } else {

                                res.write("注册成功");

                            }

                        });

                    }

                });

            }

        }

        res.end();

    } else if (pathname == "/login") {

        // 数据校验

        let err = validator.username(username);

        if (err) {

            res.write(err);

        } else {

            err = validator.psw(psw);

            if (err) {

                res.write(err);

            } else {

                // 检查用户名是否存在

                db.query(`SELECT ID,psw FROM student WHERE stuname='${username}'`, (err, data) => {

                    if (err) {

                        res.write("数据库有误");

                        res.end();

                    } else if (data.length > 0) {

                        // 再判断密码是否正确

                        if (data[0].psw === psw) {

                            res.write("成功");

                            res.end();

                        } else {

                            res.write("密码有误");

                            res.end();

                        }

                    } else {

                        res.write("没有该用户");

                        res.end();

                    }

                });

            }

        }

    } else {

        fs.readFile("www" + req.url, (err, buffer) => {

            if (err) {

                res.writeHead(404);

                res.write("Not Found");

            } else {

                res.write(buffer);

            }

            res.end();

        });

    }

}).listen(8080);

你可能感兴趣的:(day8/ server2.js)