php登錄註冊整套源碼:php實現登錄註冊頁面完整代碼

大家覺得好的話,請大家關注點贊轉發一波,謝謝!

1.製作一個測試主頁

A.思維導圖:

用PHP製作一個簡單的註冊登錄頁面

B.源碼:

<?php

session_start();//啟動新會話或者重用現有會話說明

?>

<html>

<head>

<meta charset=”utf-8″ />

<title>測試主頁</title> <!–標題–>

</head>

<body>

<?php

if (isset($_SESSION[‘userName’])) //isset() 檢測變數是否設置 如果登錄成功

{

$userName = $_SESSION[‘userName’];//$_SESSION[‘username’]的值賦值給變數$userName

echo “歡迎您:” . $userName; //歡迎您:登錄的名稱

echo ‘<a href = “logout.php”><input type = “button” value = “註銷” /></a>’; //註銷按鈕

}

else {//登錄失敗

echo ‘<a href = “login.php”><input type = “button” value = “登錄” /></a>’;//登錄按鈕

echo ‘<a href = “register.php”><input type = “button” value = “註冊” /></a>’;//註冊按鈕

}

?>

</body>

</html>

C.結果:

用PHP製作一個簡單的註冊登錄頁面
用PHP製作一個簡單的註冊登錄頁面

2. 登錄頁面

A. 思維導圖:

用PHP製作一個簡單的註冊登錄頁面

B.源碼:

<html>

<head>

<meta charset=”utf-8″ />

<title>登錄</title><!–標題–>

<style>

.error{color:red;}<!–CSS樣式–>

</style>

</head>

<body>

<?php

$isInfoCanUse = false;//信息是否可用被顯示

$userName = $password= “”;//初始化,防止出現未定義就使用的錯誤

$userNameErr = $passwordErr = “”;

function dealInfo($data){ //表單信息安全處理 防止被黑客攻擊

$data = trim($data);// 移除字元串兩側的空白字元或其他預定義字元

$data = htmlspecialchars($data);//把一些預定義的字元轉換為 HTML 實體

$data = stripslashes($data);//刪除反斜杠

return $data;

}

if ($_SERVER[‘REQUEST_METHOD’] == “POST”) { //判斷信息是否完整

$isInfoCanUse = true;

if (empty($_POST[‘userName’])) { //判斷用戶名稱是否為空

$isInfoCanUse = false;

$userNameErr = “用戶名稱不能為空”;//列印用戶名稱不能為空

} else {

$userName = dealInfo($_POST[‘userName’]); //調用表單信息安全處理函數

}

if (empty($_POST[‘password’])) {//判斷密碼是否為空

$isInfoCanUse = false;

$passwordErr = “密碼不能為空”;//列印密碼不能為空

} else {

$password = dealInfo($_POST[‘password’]); //調用表單信息安全處理函數

}

}

if ($_SERVER[‘REQUEST_METHOD’] == “POST” && $isInfoCanUse == true) { //判斷表單是不是POST請求 及其信息是否可用被顯示

$dbhost = ‘127.0.0.1’;//資料庫主機

$dbuser = ‘root’;//資料庫用戶名

$dbpass = ”;//資料庫密碼

$dbname = ‘users’;//資料庫名

$link = mysqli_connect($dbhost, $dbuser, $dbpass, $dbname);//連接數據

if (!$link) {

die(‘連接資料庫失敗<br/>’);//失敗 列印連接資料庫失敗

}

else {

//echo “連接資料庫成功<br/>”;//成功 列印連接資料庫成功

}

if ($isInfoCanUse){ //信息是否可用被顯示

$sql = “SELECT userName FROM account WHERE userName=’$userName'”;//sql 查詢語句 查詢用戶名

$result = mysqli_query($link, $sql);//不論成功與否,都返回結果集

$test = mysqli_fetch_assoc($result);//false 查找失敗

if($test == false) {

$userNameErr = “用戶名稱不存在”;

}

else {//sql 查詢語句 查詢用戶名和密碼

$sql = “SELECT userName,password FROM account

WHERE userName=’$userName’ and password = ‘$password'”;

$result = mysqli_query($link, $sql);//不論成功與否,都返回結果集

$test = mysqli_fetch_assoc($result);//false 查找失敗

if($test == false) {

$passwordErr = “密碼錯誤”;

} else {

//存入session

session_start();//啟動新會話或者重用現有會話說明

$_SESSION[‘userName’] = $userName;//把用戶名稱存入$_SESSION[‘userName’]

echo “登錄成功!”; //列印登錄成功!

//頁面跳轉

echo ‘<a href = “homepage.php”><input type = “button” value = “返回主頁” /></a>’;

}

}

}

}

?>

<form method=”post” action=”<?php echo htmlspecialchars($_SERVER[‘PHP_SELF’]);?>” >

用戶名稱:<input type=”text” name=”userName” />

<?php echo “<span class=error>*” .$userNameErr.”</span>”;?><br/>

登錄密碼:<input type=”password” name=”password” />

<?php echo “<span class=error>*” .$passwordErr.”</span>”;?><br/>

<input type=”submit” value=”登錄” />

</form>

</body>

</html>

C.結果:

用PHP製作一個簡單的註冊登錄頁面
用PHP製作一個簡單的註冊登錄頁面
用PHP製作一個簡單的註冊登錄頁面
用PHP製作一個簡單的註冊登錄頁面

3.註冊

A.思維導圖:

用PHP製作一個簡單的註冊登錄頁面

B.源碼:

<html>

<head>

<meta charset=”utf-8″ />

<title>註冊</title><!–標題–>

<style>

.error{color:red;}<!–CSS樣式–>

</style>

</head>

<body>

<?php

$isInfoCanUse = false;//信息是否可用被顯示

$userName = $password = $email = “”;

$userNameErr = $passwordErr = $emailErr = “必填項目”;

function dealInfo($data){ //表單信息安全處理

$data = trim($data);// 移除字元串兩側的空白字元或其他預定義字元

$data = htmlspecialchars($data);//把一些預定義的字元轉換為 HTML 實體

$data = stripslashes($data);//刪除反斜杠

return $data;

}

if ($_SERVER[‘REQUEST_METHOD’] == “POST”) { //判斷信息是否完整

$isInfoCanUse = true;

if (empty($_POST[‘userName’])) {//判斷用戶名稱是否為空

$isInfoCanUse = false;

$userNameErr = “用戶名稱不能為空”;//列印用戶名稱不能為空

} else {

if (!preg_match(“/^[w]*$/”,$_POST[‘userName’])) {//用正則表達式判斷是否符合字母和數字

$userNameErr = “只允許字母和數字”; //列印只允許字母和數字

$isInfoCanUse = false;

}

else {

$userName = dealInfo($_POST[‘userName’]); //調用表單信息安全處理函數

}

}

if (empty($_POST[‘password’])) {//判斷密碼是否為空

$isInfoCanUse = false;

$passwordErr = “註冊密碼不能為空”;//列印註冊密碼不能為空

} else {

if (!preg_match(“/(w{6,14})/”,$_POST[‘password’])) {//用正則表達式判斷是否符合6到14位

$passwordErr = “密碼長度 6~14位”; //列印密碼長度 6~14位

$isInfoCanUse = false;

}

else{

$password = dealInfo($_POST[‘password’]);//調用表單信息安全處理函數

}

}

if (empty($_POST[’email’])) {////判斷郵箱是否為空

$isInfoCanUse = false;

$emailErr = “註冊郵箱不能為空”;//列印註冊郵箱不能為空

} else {

if (!preg_match(“/([w-]+@[w-]+.[w-]+)/”,$_POST[’email’])) {//用正則表達式判斷是否符合郵箱格式

$emailErr = “非法郵箱格式”; //列印非法郵箱格式

$isInfoCanUse = false;

}

else {

$email = dealInfo($_POST[’email’]);//調用表單信息安全處理函數

}

}

}

if ($_SERVER[‘REQUEST_METHOD’] == “POST” && $isInfoCanUse == true) {

$dbhost = ‘127.0.0.1’;//資料庫主機

$dbuser = ‘root’;//資料庫用戶名

$dbpass = ”;//資料庫密碼

$dbname = ‘users’;//資料庫名

$link = mysqli_connect($dbhost, $dbuser, $dbpass, $dbname);//連接資料庫

if (!$link) {

die(‘連接資料庫失敗<br/>’);//失敗 列印連接資料庫失敗

}

else {

//echo “連接資料庫成功<br/>”;//成功 列印連接資料庫成功

}

$sql = “SELECT userName FROM account WHERE userName=’$userName'”;//sql 查詢語句 查詢用戶名

$result = mysqli_query($link, $sql);//不論成功與否,都返回結果集

$test = mysqli_fetch_assoc($result);//false 查找失敗

if($test != false) {

$userNameErr = “用戶名稱已經存在”;//列印用戶名稱已經存在

}

else {//sql 添加語句 添加用戶名 密碼 郵箱

$sql = “INSERT INTO account(userName, password, email)

VALUES(‘$userName’, ‘$password’, ‘$email’)”;

if (mysqli_query($link, $sql)) {

echo “註冊成功<br/>”; //列印註冊成功

}

else {

echo “註冊失敗<br/>”;//列印註冊失敗

}

//頁面跳轉

echo ‘<a href = “homepage.php”><input type = “button” value = “返回主頁” /></a>’;

}

}

?>

<form method=”post” action=”<?php echo htmlspecialchars($_SERVER[‘PHP_SELF’]);?>” >

用戶名稱:<input type=”text” name=”userName” />

<?php echo “<span class=error>*” .$userNameErr.”</span>”;?><br/>

註冊密碼:<input type=”password” name=”password” />

<?php echo “<span class=error>*” .$passwordErr.”</span>”;?><br/>

註冊郵箱:<input type=”text” name=”email” />

<?php echo “<span class=error>*”.$emailErr.”</span>”;?><br/>

<input type=”submit” value=”註冊” />

</form>

</body>

</html>

C.結果:

用PHP製作一個簡單的註冊登錄頁面
用PHP製作一個簡單的註冊登錄頁面
用PHP製作一個簡單的註冊登錄頁面
用PHP製作一個簡單的註冊登錄頁面
用PHP製作一個簡單的註冊登錄頁面
用PHP製作一個簡單的註冊登錄頁面

4.註銷頁面

A.思維導圖:

用PHP製作一個簡單的註冊登錄頁面

B.源碼:

<?php

session_start();//啟動新會話或者重用現有會話說明

if (isset($_SESSION[‘userName’])) //isset() 檢測變數是否設置 如果登錄成功

{

session_unset();//會釋放當前會話註冊的所有會話變數。

session_destroy();//銷毀一個會話中的全部數據

}

?>

<html>

<head>

<meta charset=”utf-8″ />

<title>註銷頁面</title><!–標題–>

</head>

<body>

<a href = “homepage.php”><input type = “button” value = “返回主頁” /></a>

</body>

</html>

C.結果:

用PHP製作一個簡單的註冊登錄頁面

原創文章,作者:投稿專員,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/224173.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
投稿專員的頭像投稿專員
上一篇 2024-12-09 14:36
下一篇 2024-12-09 14:36

相關推薦

發表回復

登錄後才能評論