用PHP和HTML做登录注册操作数据库Mysql

用PHP和HTML做登录注册操作数据库Mysql

两个HTML页面,两个PHP,两个css,两张图片,源码+资源在上方。

目录

在这里插入图片描述

HTML页面

login.html

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>登录</title><link rel="stylesheet" href="../../css/office/login.css">
</head>
<body><div class="loginCard"><div class="logo"><img src="../../assets/images/logo.png" alt="" srcset=""></div><form action="../../controllers/office/login.php" method="post"><label for="">昵称:</label><input type="text" name="username" id="" placeholder="请输入昵称"><br><br><label for="">密码:</label><input type="password" name="password" id="" placeholder="请输入密码"><br><br><a href="register.html">我没有账号,去注册</a><button type="submit">登录</button></form></div>
</body>
</html>

register.html

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><link rel="stylesheet" href="../../css/office/register.css">
</head>
<body><div class="loginCard"><div class="logo"><img src="../../assets/images/logo.png" alt="" srcset=""></div><form action="../../controllers/office/register.php" method="post"">用户名:<input type="text" name="username" id="" ><br>&nbsp;&nbsp;&nbsp;码:<input type="password" name="password" id=""><br>&nbsp;&nbsp;&nbsp;别:<select name="gender" id=""><option value="0"></option><option value="1"></option></select><br>&nbsp;&nbsp;&nbsp;介:<input type="text" name="brief" id=""><br><a href="login.html">我已有账号,去登录</a><input type="submit" name="" id="" value="注冊"></form>
</div>
</body>
</html>

php页面

login.php

<?php
header('content-type:text/html;charset=utf-8');
$host = "localhost";
$user = "root";
$password = "";
$db = "mydb";
$mysqli =new mysqli($host, $user, $password, $db);
if ($mysqli->connect_errno) {echo "连接失败" . $mysqli->connect_error;
}
$mysqli->set_charset("utf8");$username=$_POST['username'];
$password=$_POST['password'];$sql = "SELECT user_Name,user_Pwd FROM user WHERE user_Name='$username' AND user_Pwd='$password'";
$mysqli_stmt=$mysqli->query($sql);
if ($mysqli_stmt->num_rows > 0) {echo "登录成功";
}else{echo "<script>alert('登录失败');window.location.href='../../views/office/login.html'</script>";
}
$mysqli_stmt->free_result();
$mysqli->close();?>

register.php

<?php
header('content-type:text/html;charset=utf-8');
$host = "localhost";
$use = "root";
$pass = "";
$db = "mydb";
$mysqli = mysqli_connect($host, $use, $pass, $db);
if (mysqli_connect_errno()) {echo "连接失败" . mysqli_connect_error();
}
$mysqli->set_charset("utf8");//执行读取用户列表
//select($mysqli);//注册
insert($mysqli);$mysqli->close();//自定义函数function
function insert($mysqli)
{$sql = "INSERT INTO user(user_Name,user_Pwd,gender,brief)VALUES(?,?,?,?)";$mysqli_stmt = $mysqli->prepare($sql);$username = $_POST["username"];$password = $_POST["password"];$gender = $_POST["gender"];$brief = $_POST["brief"];//ssis代表四个字符串,s字符串,i整数类型$mysqli_stmt->bind_param("ssis", $username, $password, $gender, $brief);if ($mysqli_stmt->execute()) {echo PHP_EOL;echo "<script>alert('恭喜您,注册成功');window.location.href='../../views/office/login.html'</script>";} else {echo "失败" . $mysqli_stmt->errno;}//释放结果集$mysqli_stmt->free_result();$mysqli_stmt->close();
};//自定义函数function
function select($mysqli)
{$sql = "SELECT uid,username,password,age,gender FROM demo";$mysqli_stmt = $mysqli->prepare($sql);$uid=null;$username = null;$password = null;$age = null;$gender = null;if ($mysqli_stmt->execute()) {$mysqli_stmt->bind_result($uid,$username, $password, $age, $gender);while ($mysqli_stmt->fetch()) {echo "编号" . $uid . "<br>";echo "姓名" . $username . "<br>";echo "密码" . $password . "<br>";echo "年龄" . $age . "<br>";$gender = $gender == 1 ? "男" : "女";echo "性别" . $gender . "<br>";}}else{echo"查询失败";}//释放结果集$mysqli_stmt->free_result();$mysqli_stmt->close();
};?>

css页面

login.css

body{background-image: url(../../assets/images/login_beijing.jpg);/* 平铺图片 */background-size: cover;
}
.loginCard{/* 自适应 */width: fit-content;/* 上右下左边距 */padding: 12px 24px;/* 边框 */border: 1px solid red;/* 外边距 */margin: 200px auto;box-shadow: 2px 2px 10px 1px #adadb3;border-radius: 4px;background-color: rgb(255, 255, 255,0.5);
}
.loginCard .logo{margin: 0 auto;width: 60px;height: 60px;transform: translateY(-40px);border: 1px solid coral;border-radius: 50px;background-color: #F6F6F6;box-shadow: 2px 2px 10px 1px #adadb3;
}
.loginCard .logo img{width: 70%;padding: 9px;
}

register

body{background-image: url(../../assets/images/login_beijing.jpg);/* 平铺图片 */background-size: cover;
}
.loginCard{/* 自适应 */width: fit-content;/* 上右下左边距 */padding: 12px 24px;/* 边框 */border: 1px solid red;/* 外边距 */margin: 200px auto;box-shadow: 2px 2px 10px 1px #adadb3;border-radius: 4px;background-color: rgb(255, 255, 255,0.5);
}
.loginCard .logo{margin: 0 auto;width: 60px;height: 60px;transform: translateY(-40px);border: 1px solid coral;border-radius: 50px;background-color: #F6F6F6;box-shadow: 2px 2px 10px 1px #adadb3;
}
.loginCard .logo img{width: 70%;padding: 9px;
}

图片素材

在这里插入图片描述
在这里插入图片描述

数据库

DROP TABLE IF EXISTS `user`;
CREATE TABLE IF NOT EXISTS `user` (`user_Id` int NOT NULL AUTO_INCREMENT COMMENT '用户编号',`user_Name` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT '用户姓名',`user_Pwd` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT '用户密码',`gender` int DEFAULT NULL COMMENT '性别',`brief` text CHARACTER SET utf8mb4 COLLATE utf8mb4_bin COMMENT '简介',PRIMARY KEY (`user_Id`)
) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin;

启动

http://localhost/static/views/office/login.html
http://localhost/static/views/office/register.html

效果

在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/215317.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

IDEA卡顿,进行性能优化设置(亲测有效)——情况二

问题背景与现象 IDEA今天突然显示到期&#xff0c;于是从同事那边搞到一个很好用的破解方式&#xff0c;说实话&#xff0c;非常方便&#xff08;后续在安前码后中分享&#xff09; 破解之后呢&#xff0c;香了一阵子&#xff0c;但是突然显示开始卡顿&#xff0c;界面几乎是…

【spring boot】RestTemplate 链接带签名post请求 400 bad request

由于项目需要从服务端对第三方发起请求&#xff0c;而且第三方没有提供SDK的情况下&#xff0c;只能根据对方api文档发送请求了&#xff0c;对方接口的格式是&#xff1a;地址签名&#xff0c;post请求上送具体参数的方式去请求对方服务。 背景 很简单的一个需求&#xff0c;然…

Word插件-好用的插件-PPT 素材该怎么积累-大珩助手

PPT 素材该怎么积累&#xff1f; 使用大珩助手中的素材库功能&#xff0c;将Word中的&#xff0c;或系统中的文本文件、图片、其他word文档、pdf&#xff0c;所有见到的好素材&#xff0c;一键收纳。 步骤&#xff1a;选中文件&#xff0c;按住鼠标左键拖到素材库界面中&…

React-router-dom v6和 v5版本“注册路由”的差异化

React-router-dom v6和 v5版本“注册路由”的差异化 Matched leaf route at location “/about” does not have an element. This means it will render an with a null value by default resulting in an “empty” page. v6版本中Switch已经被换成了Routes&#xff0c;点击链…

【软考】信息系统项目管理师论文方向猜想

报喜不报忧&#xff0c;每天都在为鸡零狗碎推诿扯皮&#xff0c;属实是有辱师门。 通过软考&#xff0c;目前算是真正有意义的事情。 虽然都说高项的论文是个玄学&#xff0c;但是道听途说了一些通关感想还是蛮有启发的。 文件要求 参考了一份广西省高级工程师评审的文件&am…

Leetcode704二分查找、折半查找(Java实现)

好久没有更新算法题&#xff0c;今天来写一道二分查找的题目。题目要求如下&#xff0c; 那么这道题的解题思路如下&#xff0c;我们寻找的过程是首先去访问数组的中间位置mid&#xff0c;如果nums[mid]大于了targe那么说明&#xff0c;我们要找的数在mid的左半边&#xff0c;…

IAR开发stm8系列,C语言实现16位乘法器和32位除法器函数

stm8是8位单片机&#xff0c;在ADC采样采用12bit采样值进行定点整型运算的时候&#xff0c;为了保证精度需要通过16位乘法器 进行扩大&#xff0c;通过32位除法器缩小运算。但是用c语言直接用“*"和"/"计算是无法实现。c语言的math函数库也没有提供这样的计算函…

CSDN博客迁移至Hexo

实现思路&#xff1a; 获取博客列表获取博客详情解析博客详情html&#xff0c;找出 #article_content部分通过jsoup解析博客内容&#xff0c;转成md格式文件 依赖 <dependency><groupId>com.alibaba.fastjson2</groupId><artifactId>fastjson2</art…

Linux实用操作篇-下篇

Linux实用操作篇-上篇&#xff1a;Linux实用操作-上篇-CSDN博客 一、网络传输 1.1 ping命令 网络是否可联通 可以通过ping命令&#xff0c;检查指定的网络服务器是否是可联通状态 语法: ping [-c num] ip或主机名 选项&#xff1a;-c&#xff0c;检查的次数&#xff0c;…

嵌入式SOC芯片选型

摘要&#xff1a; 本文主要探讨的是如果涉及芯片选型&#xff0c;需要考虑哪些方面&#xff1f; 将相关的需求列出来&#xff0c;供后续实践的时候参考。 SOC芯片选型 能力参数指标备注算力编码能力VPU处理能力YUV算法资源媒体audiovideoCPU运行主频架构DDRDDR规格DDR带宽DD…

cmake常用设置命令及参数大全

CMake是一个跨平台的开源构建工具,用于管理软件项目的构建过程。它使用简单的配置文件(CMakeLists.txt)来定义构建过程的规则。 以下是一些常用的CMake设置和命令: 1. cmake_minimum_required(VERSION x.x):指定需要的CMake版本。 2. project(project_name):设置项目的…

深入理解Java虚拟机---垃圾收集算法

深入理解Java虚拟机---垃圾收集算法 如何判定对象是否存活引用计数法可达性分析法 Java引用类型垃圾回收算法标记-清除算法复制算法标记-整理算法分代收集算法 HotSpot的算法实现枚举根节点安全点安全区域 如何判定对象是否存活 引用计数法 引用计数算法利用额外的内存空间来…

Dockerfile创建镜像介绍

1.介绍 Docker 提供了一种更便捷的方式&#xff0c;叫作 Dockerfile&#xff0c;docker build命令用于根据给定的Dockerfile构建Docker镜像。 docker build语法&#xff1a; # docker build [OPTIONS] <PATH | URL | -> 常用选项说明 --build-arg&#xff0c;设置构建时的…

上海亚商投顾:沪指探底回升 AI应用方向再度爆发

上海亚商投顾前言&#xff1a;无惧大盘涨跌&#xff0c;解密龙虎榜资金&#xff0c;跟踪一线游资和机构资金动向&#xff0c;识别短期热点和强势个股。 一.市场情绪 三大指数昨日探底回升&#xff0c;早盘一度均跌超1%&#xff0c;午后集体拉升翻红&#xff0c;深成指、创业板…

FFmpeg的AVcodecParser

文章目录 结构体操作函数支持的AVCodecParser 这个模块是AVCodec中的子模块&#xff0c;专门用来提前解析码流的元数据&#xff0c;为后面的解码做准备&#xff0c;这一点对cuda-NVdec非常明显&#xff0c;英伟达解码器的元数据解析是放在CPU上的&#xff0c;所以就非常依赖这个…

为什么Vue3的proxy需要Reflect呢

何为proxy Proxy 对象用于定义或修改某些操作的自定义行为&#xff0c;可以在外界对目标对象进行访问前&#xff0c;对外界的访问进行改写。 var proxy new Proxy(target, handler)ES6 中的proxy目前提供了13种可代理操作拦截的行为。 何为reflect ES6 标准中&#xff0c;…

远程工作:自由职业者如何成功赚钱

前言 在这个不断进步的数字化时代&#xff0c;远程工作已经从一个可选的边缘工作方式&#xff0c;成长为主流职业趋势的一部分。特别是自从全球疫情改变了我们的生活和工作方式以来&#xff0c;远程工作的概念不再是遥不可及的理想&#xff0c;而是已经成为许多人日常工作的现…

SpringBoot集成swagger2配置权限认证参数

作者简介&#xff1a;大家好&#xff0c;我是撸代码的羊驼&#xff0c;前阿里巴巴架构师&#xff0c;现某互联网公司CTO 联系v&#xff1a;sulny_ann&#xff08;17362204968&#xff09;&#xff0c;加我进群&#xff0c;大家一起学习&#xff0c;一起进步&#xff0c;一起对抗…

[Java][JDK5]可变参数

我们可以假设一种情况&#xff0c;我们需要进行求和计算 在原先&#xff0c;我们考虑到参数只能传入一个数字&#xff0c;因此我们会将需要求和的数字放在一个数组&#xff0c;传入该数组进入方法再拆分计算 比如下面的例子:使用了增强for来对数组进行遍历 public class Mai…

【Lidar】基于Python的三维点云数据转二维平面+散点图绘制

最近一直在搞点云相关的操作&#xff0c;有时候在处理点云数据时需要查看处理后的数据是否满足需求&#xff0c;所以就想着写一套展示点云的代码。之前已经分享过如何可视化点云了&#xff0c;感兴趣的可以自己去看下&#xff1a;【Lidar】基于Python的Open3D库可视化点云数据。…