iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >Vue+MySQL实现登录注册案例
  • 811
分享到

Vue+MySQL实现登录注册案例

mysqlvue.js前端 2023-09-03 05:09:39 811人浏览 独家记忆
摘要

Vue+Mysql实现登录注册案例 1.新建vue项目并连接数据库 具体步骤见vue连接mysql数据库 2.新建登录页面、注册页面和首页 在src/views文件夹下,新建 login.vue(登录

Vue+Mysql实现登录注册案例

1.新建vue项目并连接数据库

具体步骤见vue连接mysql数据库

2.新建登录页面、注册页面和首页

在src/views文件夹下,新建 login.vue(登录页面)、reGISter.vue(注册页面) 和 home.vue(首页)

  • 根据自己的喜好搭建页面(本人此处使用了elementUI的组件,cv前要先安装elementUI中间件
npm i element-ui -S
<template>  <div class="bg">    <div id="login">        <h2>登录页面h2>        <el-fORM ref="form" :model="form" label-width="20%">        <el-form-item label="用户名:">            <el-input v-model="form.username">el-input>        el-form-item>        <el-form-item label="密  码:">            <el-input v-model="form.passWord" type="password">el-input>        el-form-item>        el-form>        <el-button type="primary" round @click="login" class="btn">登录el-button>        <a @click="register" class="reg">前往注册a>    div>  div>template>
<template>  <div class="bg">    <div id="register">        <h2>注册页面h2>        <el-form ref="form" :model="form" label-width="20%">        <el-form-item label="用户名:">            <el-input v-model="form.username">el-input>        el-form-item>        <el-form-item label="密  码:">            <el-input v-model="form.password" type="password">el-input>        el-form-item>        el-form>        <el-button type="primary" round @click="register" class="btn">注册el-button>    div>  div>template>
<template>  <div id="main">    <el-container>      <el-header>        <div class="loGo" >          <img src="../assets/img/logo.png">          div>        <div class="user">          {{username}}        div>      el-header>      <el-main>mainel-main>      <el-footer>Footerel-footer>    el-container>  div>template>
  • 页面效果
    在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

4.页面路由配置

在src/router/index.js中配置页面对应路由

import Vue from 'vue'import VueRouter from 'vue-router'Vue.use(VueRouter)const home = () => import("../views/home.vue")    //懒加载const login = () => import("../views/login.vue")const register = () => import("../views/register.vue")const routes = [  {    path: '',    redirect: '/login'   //重定向  }{    path: '/login',    name: 'login',    component: login  },  {    path: '/register',    name: 'register',    component: register  },  {    path: '/home',    name: 'home',    component: home,  }]const router = new VueRouter({  mode: 'history',  base: process.env.BASE_URL,  routes})//解决相同路径跳转报错问题//使用push的方法const RouterPush = VueRouter.prototype.pushVueRouter.prototype.push = function push (to) {  return RouterPush.call(this, to).catch(err => err)}//使用replace的方法const RouterReplace = VueRouter.prototype.replaceVueRouter.prototype.replace = function replace (to) {  return RouterReplace.call(this, to).catch(err => err)}export default router

4.新建/server/api/login.js

接收 req.query / req.bosy 传递来的参数,通过查询语句查询对应数据并放回结果

let db = require('../db/index')exports.login = (req, res) => {  var sql = 'select * from user where name = ? and password = ?'  db.query(sql, [req.query.name, req.query.password], (err, data) => {      if(err) {          return res.send({            status: 400,            message: "登录失败"          })      }            if(data.length > 0) {        res.send({          status: 200,          message: "登录成功"        })      }else{        res.send({          status: 202,          message: '用户名或密码错误'        })      }  })}exports.register = (req, res) => {  const sql1 = 'select * from user where name = ?'  const sql2 = 'insert into user (name, password) value (?, ?)'  db.query(sql1, [req.body.name], (err, data) => {    if(err) {      return res.send({        status: 400,        message: "操作失败"      })    }    if(data.length > 0) {      return res.send({        status: 202,        message: '用户名已存在'      })    }else{      db.query(sql2, [req.body.name, req.body.password], (err, data) => {        if(err) {            return res.send({              status: 400,              message: "注册失败"            })        }        res.send({          status: 200,          message: "注册成功"        })      })    }  })}

5.在/server/router.js中配置对应路由

let express = require('express')let router = express.Router()let login = require('./API/login')router.get('/login', login.login)router.post('/register', login.register)module.exports = router

6.在/views/login.vue、/views/register.vue和/views/home.vue中编写相应方法

<template>  <div class="bg">    <div id="login">        <h2>登录页面h2>        <el-form ref="form" :model="form" label-width="20%">        <el-form-item label="用户名:">            <el-input v-model="form.username">el-input>        el-form-item>        <el-form-item label="密  码:">            <el-input v-model="form.password" type="password">el-input>        el-form-item>        el-form>        <el-button type="primary" round @click="login" class="btn">登录el-button>    div>  div>template><script>import axiOS from "axios"export default {  data () {    return {      form: {        username: '',        password: ''        }    };  },  methods: {    login() {      if(this.form.username == '') {        this.$message.error('用户名不能为空');      }else if(this.form.password == '') {        this.$message.error('密码不能为空');      }else{        axios.get('Http://127.0.0.1/login', {          params: {            name: this.form.username,            password: this.form.password          }        }).then(res=>{          if(res.data.status == 200) {            this.$router.push({              path: '/home',              query: {                name: this.form.username              }            })          }else{            this.$alert('用户名或密码错误', '登录失败', {              confirmButtonText: '确定',              callback: action => {                this.form.username = '',                this.form.password = ''              }            });          }        }).catch(err=>{            console.log("登录失败" + err);        })      }    },    register() {      this.$router.push('/register')    }  }}script>
<template>  <div class="bg">    <div id="register">        <h2>注册页面h2>        <el-form ref="form" :model="form" label-width="20%">        <el-form-item label="用户名:">            <el-input v-model="form.name">el-input>        el-form-item>        <el-form-item label="密  码:">            <el-input v-model="form.password" type="password">el-input>        el-form-item>        el-form>        <el-button type="primary" round @click="register" class="btn">注册el-button>    div>  div>template><script>import axios from "axios"export default {  data () {    return {      form: {        name: '',        password: ''        },      isnull: false    };  },   methods: {    register() {      if(this.form.name == '') {        this.$message.error('用户名不能为空');      }else if(this.form.password == '') {        this.$message.error('密码不能为空');      }else{        axios.post('http://127.0.0.1/register', this.form})        .then(res => {          // console.log(res.data.message);          if(res.data.status == 200) {            this.$alert('是否返回登录页面', '注册成功', {              confirmButtonText: '确定',              callback: action => {                this.$router.push('/login')              }            })          }else if(res.data.status == 202) {            this.$alert('用户名已存在', '注册失败', {              confirmButtonText: '确定',              callback: action => {                this.form.name = '',                this.form.password = ''              }            })          }else{            console.log(res.message);          }        }).catch(err => {          console.log('操作失败' + err);        })      }    }  }}script>
<template>  <div id="main">    <el-container>      <el-header>        <div class="logo" >          <img src="../assets/img/logo.png">          div>        <div class="user">          {{username}}        div>      el-header>      <el-main>mainel-main>      <el-footer>Footerel-footer>    el-container>  div>template><script>  export default {    name: 'Main',    data() {      return{        username: ''      }    },    created() {  //页面创建时,把路由传递来的用户名赋值给data中的username,这样就可以在页面显示用户名了(效果见首页的右上角)      this.username = this.$route.query.name;    }  }script>

效果展示

登录注册demo

git源码地址:https://gitee.com/xie-xiaochun/login-registration-demo
注意:资源中不包含数据库,需自己创建数据库,并修改源码中数据库的相关信息。

来源地址:https://blog.csdn.net/weixin_52580677/article/details/123369240

您可能感兴趣的文档:

--结束END--

本文标题: Vue+MySQL实现登录注册案例

本文链接: https://www.lsjlt.com/news/391659.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Vue+MySQL实现登录注册案例
    Vue+MySQL实现登录注册案例 1.新建vue项目并连接数据库 具体步骤见vue连接mysql数据库 2.新建登录页面、注册页面和首页 在src/views文件夹下,新建 login.vue(登录...
    99+
    2023-09-03
    mysql vue.js 前端
  • 使用Vue+MySQL实现登录注册的实战案例
    目录1.新建vue项目并连接数据库2.新建登录页面、注册页面和首页3.页面路由配置4.新建/server/API/login.js5.在/server/router.js中配置对应路...
    99+
    2024-04-02
  • Java实现登录和注册案例
    本文实例为大家分享了Java实现登录和注册的具体代码,供大家参考,具体内容如下 登录和注册案例的分析: 我们在完成一个需求时,需要面向对象,我们必须找到能完成某个功能的类,接着调用里...
    99+
    2024-04-02
  • springboot+VUE实现登录注册
    本文实例为大家分享了springboot+VUE实现登录注册的具体代码,供大家参考,具体内容如下 一、springBoot 创建springBoot项目 分为三个包,分别为contr...
    99+
    2024-04-02
  • vue怎么实现注册登录
    今天小编给大家分享一下vue怎么实现注册登录的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。关于npm安装速度慢或不成功使用淘...
    99+
    2023-07-04
  • django+vue实现注册登录的示例代码
    注册 前台利用vue中的axios进行传值,将获取到的账号密码以form表单的形式发送给后台。 form表单的作用就是采集数据,也就是在前台页面中获取用户输入的值。numberVa...
    99+
    2024-04-02
  • springboot+VUE如何实现登录注册
    这篇文章主要介绍springboot+VUE如何实现登录注册,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!一、springBoot创建springBoot项目分为三个包,分别为controller,service, ...
    99+
    2023-06-15
  • JavaWeb:用户注册登录案例
    1.1 用户登录 1.1.1 需求分析 用户在登录页面输入用户名和密码,提交请求给LoginServlet在LoginServlet中接收请求和数据[用户名和密码]在LoginServlt中通过My...
    99+
    2023-09-26
    mybatis java mysql servlet maven
  • 【Java案例】用户登录注册
    案例介绍: 编写程序实现简单的用户登录注册功能。程序包含以下4个功能: (1)登录功能,用户输入正确的账号密码登录成功; (2)注册功能,输入用户名和密码进行注册; (3)查看功能,查看所有的用户名与密码; (4)退出功能,退出系统; 用户...
    99+
    2023-09-23
    java 开发语言
  • VUE实现注册与登录效果
    本文实例为大家分享了VUE实现注册与登录效果的具体代码,供大家参考,具体内容如下 1.效果展示 2.注册效果实现 <template> <div clas...
    99+
    2024-04-02
  • vue实现登录注册模板的示例代码
    模板1:  login.vue <template> <p class="login"> <el-tabs v-model="ac...
    99+
    2024-04-02
  • Android Studio+Servlet+MySql实现登录注册
    一、Android 项目当中设置明文传输 1、设置明文传输的xml <?xml version="1.0" encoding="UTF-8"?...
    99+
    2024-04-02
  • NodeJs+MySQL实现注册登录功能
    本文实例为大家分享了NodeJs+MySQL实现注册登录功能的具体代码,供大家参考,具体内容如下 之前写过一个没有连接数据库的注册与登陆的实现,这次加上了数据库 刚刚接触后端,很多不...
    99+
    2024-04-02
  • vue实现登录注册模板的方法
    这篇文章主要介绍了vue实现登录注册模板的方法,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。模板1: login.vue<template><p&...
    99+
    2023-06-14
  • java+mysql实现登录和注册功能
    初学JAVA  EE,老师留下一小作业,用JAVA实现与服务器端交互,实现登录和注册功能,初学一种专业课很多老师都会留下一种让学生实现登录和注册的作业。 下面是记录的实现步...
    99+
    2024-04-02
  • vue中登录注册的示例分析
    这篇文章主要介绍了vue中登录注册的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。步骤一1.安装脚手架:npm install vu...
    99+
    2024-04-02
  • Redis实现登录注册的示例代码
    目录1. 引言2. 流程图及代码实现2.1 生成验证码保存到Redis2.2 登录验证2.3 请求拦截器3. 总结1. 引言 在传统的项目中,用户登录成功,将用户信息保存在sessi...
    99+
    2024-04-02
  • 登录-注册网页实现
    re.php(登录的前端界面) 登录页面 .home{ text-align: center; font-wei...
    99+
    2023-08-31
    数据库 php 前端
  • Android Studio连接MySql实现登录注册的示例代码
    小编给大家分享一下Android Studio连接MySql实现登录注册的示例代码,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!具体如下:一、创建工程创建一个空白...
    99+
    2023-06-15
  • SpringBoot+Vue实现简单的登录注册功能
    文章目录 一、前言1.开发环境2.功能3.项目运行截图 二、撸代码1.构建前端项目2.构建后端项目3.前端页面编写4.后端代码编写5.前后端联调 三、小结 一、前言 ...
    99+
    2023-09-20
    vue.js spring boot java mysql
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作