用node和express连接mysql实现登录注册

本文介绍了如何使用Node.js的Express框架和MySQL数据库构建登录注册功能。在开发过程中,作者遇到了数据库异步操作的问题,通过Promise解决。同时强调了注册时检查用户名唯一性的逻辑,并提到了session在保持登录状态中的应用。由于字符编码问题,作者在设置UTF8编码后解决了MySQL不能输入中文的错误。最后,作者计划使用Jade渲染文章页面,并期望在有限的时间内完成博客系统的基本功能,包括文章的增删改查和评论功能。
摘要由CSDN通过智能技术生成

为了数据库课设,打算后台用node搭建,前台用vue搞个博客出来(因为前段时间在学啊)。本来node不想用框架,喜欢先打好基础的,奈何3个星期要把他做完和应付各种考试,所以最后还是用了express,大大简化我的学习成本。

数据库我选了比较“正式”的mysql,代码方面这个比mongodb复杂一些。而且这是数据库课设,如果用mongodb老师肯定让我挂了,因为没有涉及到设置主键、外键等。

先在主入口js引入登录注册业务js和发起一个监听端口

var express = require('express');
var user = require('./controll/user');   

var app = new express();

app.use(express.static('public'));   //静态资源的入口
app.use('/user',user);               //这样写是为了以后如果改变了请求路径,也不用改逻辑js而是改这行的路径即可

var server = app.listen(3000)

html

$("#signup").click(function(){
   
        $.ajax({
            url: "/user/signup",
            type: 'post',
            data: $("#formid").serialize(),
            success: function(data) {
   
                if(data.status == 99999) {
                    alert("3秒后跳转到首页");
                    setTimeout(function() {
   
                        location.href='http://'+window.location.host+'/html/index.html';
                    },3000)
                }else {
                    alert(<
以下是使用node.js express mysql实现网站用户的注册登录功能的步骤: 1. 安装Node.js和MySQL 2. 在MySQL中创建一个名为“user”的数据库,其中包含一个名为“users”的表,该表具有以下结构: CREATE TABLE users ( id INT(11) NOT NULL AUTO_INCREMENT, email VARCHAR(255) NOT NULL, password VARCHAR(255) NOT NULL, PRIMARY KEY (id) ); 3. 使用npm安装expressmysql和body-parser模块: npm install express mysql body-parser 4. 在Node.js应用程序中创建一个名为“app.js”的文件,并将以下代码添加到文件中: const express = require('express'); const mysql = require('mysql'); const bodyParser = require('body-parser'); const app = express(); const db = mysql.createConnection({ host: 'localhost', user: 'root', password: '', database: 'user' }); db.connect((err) => { if (err) { throw err; } console.log('Connected to database'); }); app.use(bodyParser.json()); app.use(bodyParser.urlencoded({ extended: true })); app.post('/register', (req, res) => { const { email, password } = req.body; db.query('SELECT * FROM users WHERE email = ?', [email], (err, results) => { if (err) { throw err; } if (results.length > 0) { res.send('User already exists'); } else { db.query('INSERT INTO users SET ?', { email, password }, (err) => { if (err) { throw err; } res.send('User registered'); }); } }); }); app.post('/login', (req, res) => { const { email, password } = req.body; db.query('SELECT * FROM users WHERE email = ? AND password = ?', [email, password], (err, results) => { if (err) { throw err; } if (results.length > 0) { res.send('Logged in'); } else { res.send('Incorrect email or password'); } }); }); app.listen(3000, () => { console.log('Server started on port 3000'); }); 5. 运行应用程序: node app.js 6. 在浏览器中访问http://localhost:3000来测试注册和登录功能。 以上就是使用node.js express mysql实现网站用户的注册登录功能的步骤,希望对您有所帮助。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值