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

news2024/7/6 17:42:50

用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.coloradmin.cn/o/1317633.html

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

相关文章

THEMIS---Beta Sprint Summary Essay Blog

Which course does this assignment belong to2301-MUSE社区-CSDN社区云What are the requirements for this assignmentbeta SprintThe goal of this assignmentTo summarize the beta task progress and the teams sprintsTeam NameThemisTop-of-the-line collection of essa…

Impala4.x源码阅读笔记(一)——HdfsTextScanner解析

前言 本文为笔者个人阅读Apache Impala源码时的笔记&#xff0c;仅代表我个人对代码的理解&#xff0c;个人水平有限&#xff0c;文章可能存在理解错误、遗漏或者过时之处。如果有任何错误或者有更好的见解&#xff0c;欢迎指正。 在文章Impala3.4源码阅读笔记&#xff08;七…

带你亲证AI应用开发的“奇点”时刻

带你亲证AI应用开发的“奇点”时刻 AI 应用开发——新的历史节点 事实上&#xff0c;没有任何一种突破能够不经历重重失败&#xff0c;不体验一轮轮的痛苦&#xff0c;就能直接展现在人类面前。AI 技术自诞生之初直至今日&#xff0c;其发展之路从未一帆风顺——辉煌与寒冬交…

Windows环境下QT应用程序的发布

时间记录&#xff1a;2023/12/17 1.生成版本介绍&#xff0c;debug&#xff1a;调试版本&#xff0c;携带调试信息&#xff0c;占用内存稍大一些&#xff0c;release&#xff1a;发布版本&#xff0c;一般开发完毕选择此套件进行编译生成可执行程序进行发布 2.发布步骤 &#x…

流程引擎相关资料

最近调研流程引擎相关知识&#xff0c;BPMN规范和流程引擎相关知识无法避开&#xff0c;以及市面上比较多的流程引擎产品。 BPMN2.0 基本形状 流对象&#xff08;Flow Objects&#xff09;&#xff0c;流对象是定义业务流程的主要图形元素。它进一步细分为三个类别&#xff0…

使用邮件群发平台,轻松实现高效沟通的4大优势!

新媒体带动着众多线上平台的发展&#xff0c;使得流量为企业带来了可观的营收。但是&#xff0c;随着短视频市场的饱和&#xff0c;想要再次获得初始时的流量就变得越发困难。在这个时候&#xff0c;企业不妨将眼光往邮件群发这个传统的营销方式上倾斜&#xff0c;特别是出海、…

LangChain 27 BabyAGI编写旧金山的天气预报

LangChain系列文章 LangChain 实现给动物取名字&#xff0c;LangChain 2模块化prompt template并用streamlit生成网站 实现给动物取名字LangChain 3使用Agent访问Wikipedia和llm-math计算狗的平均年龄LangChain 4用向量数据库Faiss存储&#xff0c;读取YouTube的视频文本搜索I…

别小看Python的【print】函数,这些高级用法你知道吗?

文章目录 引言技巧1&#xff1a;格式化输出示例1&#xff1a;使用%s来插入字符串&#xff0c;使用%d来插入整数示例2&#xff1a;使用字符串的format()方法示例3&#xff1a;使用f-string格式化输出 技巧2&#xff1a;控制输出文本的颜色技巧3&#xff1a;将打印结果重定向至文…

什么是Maven?

什么是Maven 1、Maven是依赖管理、项目构建工具。 pom.xml springBoot项目的核心配置文件&#xff0c;pom项目对象模型、Dependency依赖管理模型。 Maven中的GAVP是指&#xff1a; 1、GroupId&#xff1a;当前工程组织id&#xff0c;例如&#xff1a;com.jd.tddl 2、ArtifactI…

Redis-对象

参考资料 极客时间Redis&#xff08;亚风&#xff09; Redis对象 String • 基本编码⽅式是RAW&#xff0c;基于简单动态字符串&#xff08;SDS&#xff09;实现&#xff0c;存储上限为512mb。 • 如果存储的SDS⻓度⼩于44字节&#xff0c;则会采⽤EMBSTR编码&#xff0c;此…

QT:Unable to create a debugging engine.

debug跑不了&#xff1a; 报错&#xff1a;Unable to create a debugging engine. 参考&#xff1a; https://blog.csdn.net/u010906468/article/details/104716198 先检查是否安装了DEBUG插件 工具-》》选项 查看插件&#xff0c;如果没有的话&#xff0c;需要重新安装qt时…

计算机操作系统-第十七天

目录 处理机调度 调度的基本概念 作业 高级调度&#xff08;作业调度&#xff09; 中级调度&#xff08;内存调度&#xff09; 低级调度&#xff08;进程调度/处理机调度&#xff09; 进程的挂起态与七状态模型 挂起和阻塞的区别 三层调度的联系和对比 本节思维导图…

SDN控制器-ONOS中的最终一致性存储

ONOS中的数据存储基本上都是以KV进行存储的。按照一致性强弱类型可以分为强一致性存储&#xff08;strong consistency&#xff09;与弱一致性存储&#xff08;eventually consistency&#xff09;。 比较典型的&#xff0c;如ONOS中对于设备接口的存储&#xff0c;使用的是强…

XXE漏洞 [NCTF2019]Fake XML cookbook1

打开题目 查看源代码 发现我们post传入的数据都被放到了doLogin.php下面 访问一下看看 提示加载外部xml实体 bp抓包一下看看 得到flag 或者这样 但是很明显这样是不行的&#xff0c;因为资源是在admin上&#xff0c;也就是用户名那里 PHP引用外部实体&#xff0c;常见的利用…

【23-24 秋学期】NNDL 作业11 LSTM

目录 习题6-4 推导LSTM网络中参数的梯度&#xff0c; 并分析其避免梯度消失的效果 习题6-3P 编程实现下图LSTM运行过程 &#xff08;一&#xff09;numpy实现 &#xff08;二&#xff09;使用nn.LSTMCell实现 &#xff08;三&#xff09; 使用nn.LSTM实现 总结 &#x…

PMI相关证书的获取步骤及注意内容

近几年很多行业的从业人员都在考取PMI项目管理相关证书&#xff0c;可在中国大陆地区参加考试的认证主要有&#xff1a;PMP, PgMP, PMI-RMP, PMI-ACP, PMI-PBA, CAPM。PfMP, PMI-SP尚未在中国大陆地区开放考试。 现整理该类证书的相关获取步骤及注意内容 一、证书获取步骤 S…

动态规划(Dynamic Programming)

动态规划&#xff08;Dynamic Programming&#xff09;&#xff1a;是运筹学的一种最优化方法&#xff0c;只不过在计算机问题上应用比较多 DP常见步骤&#xff1a; 暴力递归/穷举记忆化搜索&#xff08;傻缓存 递归&#xff09;,使用备忘录/ DP Table 来优化穷举过程严格表结…

锁--07_2---- index merge(索引合并)引起的死锁

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 案例分析生产背景死锁日志表结构执行计划 EXPLAN为什么会用 index_merge&#xff08;索引合并&#xff09;为什么用了 index_merge就死锁了解决方案注&#xff1a;M…

SQL基础:操作环境搭建

在上一节中&#xff0c;我们简单讲述了数据库和SQL的基本概念。 本节我们讲述一下环境搭建&#xff0c;为下一节讲表的基本操作做下铺垫。 环境搭建 具体到操作&#xff0c;我们就要准备一些环境了。如果不进行练习&#xff0c;我们学习的知识将很快被遗忘。 MySQL安装&…

如何使用Lychee结合内网穿透搭建本地私人图床网站并实现远程访问

文章目录 1.前言2. Lychee网站搭建2.1. Lychee下载和安装2.2 Lychee网页测试2.3 cpolar的安装和注册 3.本地网页发布3.1 Cpolar云端设置3.2 Cpolar本地设置 4.公网访问测试5.结语 1.前言 图床作为图片集中存放的服务网站&#xff0c;可以看做是云存储的一部分&#xff0c;既可…