最简单的网页登录注册功能讲解及其实现

2023-10-31

前言

最近打算做一个网页登录的练习,今天撸一个最简单的demo,记录一下学习的过程。

结构

实现一个网页最基本的注册与登录功能,我们需要

  1. mysql存储用户账户信息
  2. 编写注册html页面
  3. 编写后台注册程序
  4. 编写登录html页面
  5. 编写后台登录验证程序

下面给出最简单的结构
在这里插入图片描述

创建数据库存储账户信息

使用mysql数据库来创建一个存储用户数据的数据库。

我们来到mysql的控制台。这里我使用的是xampp带的mysql。打开mysql控制台的方法:

  1. 以管理员模式运行cmd
  2. cd /d 路径 命令进入mysql的bin目录下
  3. 输入命令mysql -u 用户名 -p
  4. 输入密码
  5. 登录成功

进入数据库

mysql -u 用户名 -p
输入密码

在这里插入图片描述
创建数据库,我们创建一个名叫mydb的数据库,并且选择这个数据库

create database mydb;
use mydb;

然后我们创建一个数据表,表有两个字段,分别是username和password,数据类型是varchar(32)变长字符串。

create table user_account (`username` varchar(32), `password` varchar(32));

在这里插入图片描述

html注册页面

我们需要使用最基本的input表示来完成输入的读取。
在这里插入图片描述

<h1>登录</h1>
用户名: <input type="text" id="username"><br>
密码: <input type="password" id="password"><br>
<button id="regBtn">注册</button>

然后利用JavaScript绑定注册按钮的点击回调函数,利用ajax,将用户名+密码发送(POST提交)到后台程序。

除此之外我们还要使用md5来加密用户的密文,数据库不会保存用户密码的明文

使用md5需要导入一个名为md5.min.js的文件,里面提供了md5加密函数。我们可以在他的github上面下载。

<script src="md5.min.js"></script>
<script type="text/javascript">
	document.getElementById('regBtn').onclick = function() {
   
		var input_username = document.getElementById("username").value;
		var input_password = document.getElementById
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

最简单的网页登录注册功能讲解及其实现 的相关文章

  • MySQL 使用 ALTER IGNORE TABLE 出现重复错误

    我的 MySQL 中有一个有重复项的表 我尝试删除重复项并保留一项 我没有主键 我可以通过以下方式找到重复项 select user id server id count as NumDuplicates from user server
  • Magento - 检查 cms 页面

    我想通过 php 检查页面是否是 Magento 中的 cms page 我需要不同的 cms 页面面包屑 所以我尝试在一个条件下做到这一点 但我不知道如何或在哪里查看 到目前为止 这是我的 breadcrumbs phtml p some
  • PHP Solr PECL 扩展安装

    我已经使用命令安装了 pecl solr pecl install solr 和梨使用 wget http pear php net go pear phar php go pear phar 重启Apache后 我仍然收到错误 Fatal
  • VueJS 中数据无法正确显示

    我的 VueJS 代码有一个小问题 在 输出 压缩的 GS1 数字链接 URI 部分中 When there is no result it should have nothing display like this I have remo
  • 使用 XSLT 将 XML 转换为 SQL

    由于我无法控制的原因 我将获得一个 XML 文件和一个 XSLT 文件 该文件可以将 XML 文件转换为 SQL 代码或错误 现在让我们假设我们可以信任提供 XML 文件的人不会在 XML 中包含危险的构造 我什至不知道是否应该使用 Sim
  • 为什么我的 if 语句没有按我预期的方式工作?

    我正在尝试实现以下目标 我向我的 SQL 数据库询问使用SELECT FROM subjects 这样做之后我要求使用数组mysqli fetch assoc 在那之前一切都很好 现在的问题是 当我尝试在每个循环中修改 genero 的值
  • 如何使用javascript确保元素仅在圆上朝一个方向移动?

    好吧 我承认我对三角学真的很糟糕 出于上下文的考虑 我将添加我在这里提到的问题中的内容 参考问题 https stackoverflow com a 39429290 168492 https stackoverflow com a 394
  • Mysql 中 UNION 子句的替代方案

    我有两张桌子 表 a 表 b table a ID 1 2 3 4 5 7 table b ID 2 3 4 5 6 我必须得到这样的输出而无需UNION命令 ID 1 2 3 4 5 6 7 注意 我有一个联合解决方案 select fr
  • 导航栏下拉菜单(折叠)在 Bootstrap 5 中不起作用

    我在尝试使用以下命令创建响应式菜单或下拉按钮时遇到问题Bootstrap 5一切似乎都正常 导航图标和下拉图标出现 但它不起作用 当我单击nav图标或dropdown按钮 无dropdown menu apears 我想特别提到的是 我还包
  • 按下回车键时不刷新页面

    我遇到了一些问题 只要表单中有输入 回车键就会触发页面刷新 下面的代码 如果按下回车并且文本区域 input 中没有输入任何文本 则不会刷新页面 但是如果按下回车并且 input中有输入或者光标位于文本区域 我不确定是什么触发了它 因为 s
  • 删除 IE9 边缘周围的 2px 灰色边框

    我正在尝试对这个网站进行编码 尝试关键字 并且我正在尝试找出如何删除这个阴影2px灰色边框延伸到 IE9 窗口的内部 至少顶部 左侧和底部 我的边距设置为零 因此所有页面元素都到达页面的最边缘 但使用 IE9 它们会停在这个灰色边框处 我没
  • MySQL MIN/MAX 所有行

    我有桌子Races与行ID Name and TotalCP 我选择分钟 TotalCP FROM Races 但是我想选择具有最小值的整行 我如何在单个查询中做到这一点 从聚合值获取整行的一般形式是 SELECT FROM Races W
  • 如何使用角度材料在具有可扩展行的表格中创建嵌套垫表

    我有以下数据 id c9d5ab1a subdomain wing domain aircraft part id c9d5ab1a info mimetype application json info dependent parent
  • 如何在模态打开时防止主体滚动

    我在用着W3schools 模态脚本 https www w3schools com howto tryit asp filename tryhow css modal我想添加一个功能 防止模型打开时整个主体滚动 我根据我的需要对原始脚本做
  • 如何始终将焦点保持在文本框中

    我创建了一个包含两个 div 的 HTML 页面 左侧的 div 页面的 90 是 ajax 结果的目标 右侧的 div 页面的 10 包含一个文本框 该页面的想法是在文本框中输入零件编号 通过条形码扫描仪 并显示与该零件编号匹配的绘图 显
  • Laravel leftJoin 仅右表的最后一条记录

    我是 Laravel 的新手 我有两张桌子 1 产品 2 价格 products id product int p key name varchar prices id price int p key id product int
  • 如何使用 PHP 对字符串进行 rot13 处理?

    我有一个很大的 php 代码 我想手动对其进行编码和解码 我的问题是 php 代码里面有很多单引号和双引号 因此我在使用时出现错误str rot13 功能如下 那么正确的语法是什么以及如何使用下面的函数进行编码 str rot13 That
  • MySQL 按重复项从上到下排序

    我有一个lammer问题 因为我不是mysql专业人士 我有类似的字段 id color 1 red 2 green 3 yellow 4 green 5 green 6 red 我想按重复项进行分组 最常见的重复项先进行分组 所以应该这样
  • 如何从父类中获取子类名

    我试图在不需要子类上的函数的情况下完成此任务 这可能吗 我有一种感觉 但我真的很想确定
  • Laravel $request->file() 返回 null

    尝试在后端使用 Laravel 上传文件时遇到问题 Issue Laravel request gt file 方法返回 null Setup 我使用以下方法构建了一个 AJAX 请求超级代理人 https github com visio

随机推荐

  • 工作中git遇到的问题

    一开始我提交代码总是提交到另一个同事的git里 代码 Windows PowerShell 版权所有 C Microsoft Corporation 保留所有权利 尝试新的跨平台 PowerShell https aka ms pscore
  • 使用springboot搭建swing桌面程序(二)

    概述 桌面应用是个人兴趣 但不是很擅长 这里接着上一篇的内容 上一篇主要是springboot jpa swing集成到一起 启动是否正常 这一篇主要是应用的具体实现 页面编写 基本的todo的添加 完成 展示 页面的布局 设计自己的组件
  • Element UI Table排序顺序错乱处理

    1 a b gt return a total money b total money a b gt 0表示a大于b a b 0表示a等于b a b lt 0表示a小于b
  • java面向对象简述

    1 面向对象编程的基本特征 java面向对象编程的三个基本特征是封装 继承和多态 这三个特征是面向对象编程更加灵活 高效 2 类和对象 在java中 所有的代码都必须放在类中 类是种模板 它确定了对象的属性和行为 对象是类的实例化 可以调用
  • 解决TypeError: string indices must be integers, not str

    遇到问题 ExtendValue area 1 info year 2014 a 12 b 3 c 5 trip country CN 在按照字典访问的时候 报错 TypeError string indices must be integ
  • ubuntu 16.04 gedit 配置

    ubuntu 16 04 gedit 配置 1 功能说明 说明 1 配置使用gedit调用python工具 调用终端显示python运行结果 2 配置使用gedit调用终端 显示shell运行结果 3 配置使用gedit编辑markdown
  • Java常见面试题(2)

    1 表单提交重复 怎么设置接口的幂等性 场景 当用户在下单的时候 他已经支付过了 再返回支付结果的时候 出现网络抖动的问题 出现了一些异常 那这个时候用户已经消费过了 如果用户在点击这个按钮 就会二次消费 这就是因为没有实现幂等性 解决 1
  • State Manager

    stateProvider工作的方式与Angular s v1 router相近 但是他更加注重状态 状态对应于应用程序中某个位置 整体的UI和导航A state corresponds to a place in the applicat
  • mybatis条件判断/ 动态sql

    1 if标签 单条件判断 判断完第一个条件 对下一个条件进行判断 看是否能满足条件 满足则执行
  • 开发中用到的数据库查询案例

    目录 1 查询过去12个月的数据 并统计每个月数据的数量 2 查询过去12个月的数据 并统计每个月数据的数量 如果某个月数据没有 也展示出为0 1 查询过去12个月的数据 并统计每个月数据的数量 select date format cas
  • Qt入门-界面多语言国际化的实现

    Qt为国际化的实现提供了简便的方法 下面使用Qt Linguist示例一个中文语言界面的生成 我使用以前的实例 http blog csdn net xgbing article details 7778856 它是一个英文界面 步骤如下
  • 什么场景该用 MongoDB

    摘要 前段时间 MongoDB源码团队 在云栖社区上发起了一个 MongoDB 使用场景及运维管理问题交流探讨 的技术话题 有近五千人关注了该话题讨论 很多人比较关心 MongoDB的适用场景 也有用户在话题里分享了自己的业务场景 这里就
  • 【题解】poj2689(LibreOJ10197) 线性筛

    题目链接 筛出2到sqrt u 的所有质数 再标记 l u 中是质数p倍数的数 最后枚举相邻质数 部分代码实现参考了大佬题解 题目描述 给定两个整数 L R L R L R 求闭区间 L
  • Linux I2C设备驱动基本规范

    不同于单片机驱动开发 即使是简单的I2C设备驱动程序 如果要在Linux上实现同种功能的驱动程序 事情也会变的复杂起来 对于初学者而言 主要的困难就是不知道如何使用Linux现有的驱动框架 去完成驱动程序的开发 I2C设备驱动 相对来说比较
  • VUE+element-ui微信充值支付

    VUE element ui微信充值支付 前端页面是参考别人的 前端页面是参考别人的 链接 http www lanlanwork com blog post 5839
  • docker build 命令后 . 号的意思

    点击在我的博客 xuxusheng com 中查看 有更好的排版哦 参考文章 https yeasy gitbooks io docker practice content image build html 我们在使用 docker bui
  • JS-计算日期差值;计算日期之间的月数

    计算两天之间的日期差值 输入格式 yyyy MM DD function daysBetween sDate1 sDate2 Date parse 解析一个日期时间字符串 并返回1970 1 1 午夜距离该日期时间的毫秒数 var time
  • MATLAB 中的非线性回归:将复杂模型拟合到数据

    线回归是一种强大的技术 用于将复杂模型拟合到不遵循线性关系的数据 MATLAB 提供了强大的工具来执行非线性回归分析 使您能够找到最适合模型的参数并根据拟合模型进行预测 在本教程中 我们将介绍使用 MATLAB 环境中可用的数据集在 MAT
  • window安装Linux

    一 安装VMware 可通过VMware官网VMware Delivering a Digital Foundation For Businesses下载正版VMware 下载完成后直接打开 或使用管理员身份运行 点击是 点击下一步 点击我
  • 最简单的网页登录注册功能讲解及其实现

    目录 前言 结构 创建数据库存储账户信息 html注册页面 注册处理后台程序 html登录页面 后台登录处理程序 演示 前言 最近打算做一个网页登录的练习 今天撸一个最简单的demo 记录一下学习的过程 结构 实现一个网页最基本的注册与登录