用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.pswp.cn/news/215317.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/215317.shtml
英文地址,請注明出處:http://en.pswp.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庫可視化點云數據。…