用PHP制作一個(gè)簡(jiǎn)單的注冊(cè)登錄頁(yè)面(用php制作一個(gè)簡(jiǎn)單的注冊(cè)登錄頁(yè)面)

大家覺(jué)得好的話,請(qǐng)大家關(guān)注點(diǎn)贊轉(zhuǎn)發(fā)一波,謝謝!

1.制作一個(gè)測(cè)試主頁(yè)

A.思維導(dǎo)圖:

用PHP制作一個(gè)簡(jiǎn)單的注冊(cè)登錄頁(yè)面(用php制作一個(gè)簡(jiǎn)單的注冊(cè)登錄頁(yè)面)

B.源碼:

<?php

session_start();//啟動(dòng)新會(huì)話或者重用現(xiàn)有會(huì)話說(shuō)明

?>

<html>

<head>

<meta charset=”utf-8″ />

<title>測(cè)試主頁(yè)</title> <!–標(biāo)題–>

</head>

<body>

<?php

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

{

$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 = “注冊(cè)” /></a>’;//注冊(cè)按鈕

}

?>

</body>

</html>

C.結(jié)果:

用PHP制作一個(gè)簡(jiǎn)單的注冊(cè)登錄頁(yè)面(用php制作一個(gè)簡(jiǎn)單的注冊(cè)登錄頁(yè)面)用PHP制作一個(gè)簡(jiǎn)單的注冊(cè)登錄頁(yè)面(用php制作一個(gè)簡(jiǎn)單的注冊(cè)登錄頁(yè)面)

2. 登錄頁(yè)面

A. 思維導(dǎo)圖:

用PHP制作一個(gè)簡(jiǎn)單的注冊(cè)登錄頁(yè)面(用php制作一個(gè)簡(jiǎn)單的注冊(cè)登錄頁(yè)面)

B.源碼:

<html>

<head>

<meta charset=”utf-8″ />

<title>登錄</title><!–標(biāo)題–>

<style>

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

</style>

</head>

<body>

<?php

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

$userName = $password= “”;//初始化,防止出現(xiàn)未定義就使用的錯(cuò)誤

$userNameErr = $passwordErr = “”;

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

$data = trim($data);// 移除字符串兩側(cè)的空白字符或其他預(yù)定義字符

$data = htmlspecialchars($data);//把一些預(yù)定義的字符轉(zhuǎn)換為 HTML 實(shí)體

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

return $data;

}

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

$isInfoCanUse = true;

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

$isInfoCanUse = false;

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

} else {

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

}

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

$isInfoCanUse = false;

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

} else {

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

}

}

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

$dbhost = ‘127.0.0.1’;//數(shù)據(jù)庫(kù)主機(jī)

$dbuser = ‘root’;//數(shù)據(jù)庫(kù)用戶名

$dbpass = ”;//數(shù)據(jù)庫(kù)密碼

$dbname = ‘users’;//數(shù)據(jù)庫(kù)名

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

if (!$link) {

die(‘連接數(shù)據(jù)庫(kù)失敗<br/>’);//失敗 打印連接數(shù)據(jù)庫(kù)失敗

}

else {

//echo “連接數(shù)據(jù)庫(kù)成功<br/>”;//成功 打印連接數(shù)據(jù)庫(kù)成功

}

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

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

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

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

if($test == false) {

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

}

else {//sql 查詢語(yǔ)句 查詢用戶名和密碼

$sql = “SELECT userName,password FROM account

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

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

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

if($test == false) {

$passwordErr = “密碼錯(cuò)誤”;

} else {

//存入session

session_start();//啟動(dòng)新會(huì)話或者重用現(xiàn)有會(huì)話說(shuō)明

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

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

//頁(yè)面跳轉(zhuǎn)

echo ‘<a href = “homepage.php”><input type = “button” value = “返回主頁(yè)” /></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.結(jié)果:

用PHP制作一個(gè)簡(jiǎn)單的注冊(cè)登錄頁(yè)面(用php制作一個(gè)簡(jiǎn)單的注冊(cè)登錄頁(yè)面)用PHP制作一個(gè)簡(jiǎn)單的注冊(cè)登錄頁(yè)面(用php制作一個(gè)簡(jiǎn)單的注冊(cè)登錄頁(yè)面)用PHP制作一個(gè)簡(jiǎn)單的注冊(cè)登錄頁(yè)面(用php制作一個(gè)簡(jiǎn)單的注冊(cè)登錄頁(yè)面)用PHP制作一個(gè)簡(jiǎn)單的注冊(cè)登錄頁(yè)面(用php制作一個(gè)簡(jiǎn)單的注冊(cè)登錄頁(yè)面)

3.注冊(cè)

A.思維導(dǎo)圖:

用PHP制作一個(gè)簡(jiǎn)單的注冊(cè)登錄頁(yè)面(用php制作一個(gè)簡(jiǎn)單的注冊(cè)登錄頁(yè)面)

B.源碼:

<html>

<head>

<meta charset=”utf-8″ />

<title>注冊(cè)</title><!–標(biāo)題–>

<style>

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

</style>

</head>

<body>

<?php

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

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

$userNameErr = $passwordErr = $emailErr = “必填項(xiàng)目”;

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

$data = trim($data);// 移除字符串兩側(cè)的空白字符或其他預(yù)定義字符

$data = htmlspecialchars($data);//把一些預(yù)定義的字符轉(zhuǎn)換為 HTML 實(shí)體

$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’])) {//用正則表達(dá)式判斷是否符合字母和數(shù)字

$userNameErr = “只允許字母和數(shù)字”; //打印只允許字母和數(shù)字

$isInfoCanUse = false;

}

else {

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

}

}

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

$isInfoCanUse = false;

$passwordErr = “注冊(cè)密碼不能為空”;//打印注冊(cè)密碼不能為空

} else {

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

$passwordErr = “密碼長(zhǎng)度 6~14位”; //打印密碼長(zhǎng)度 6~14位

$isInfoCanUse = false;

}

else{

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

}

}

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

$isInfoCanUse = false;

$emailErr = “注冊(cè)郵箱不能為空”;//打印注冊(cè)郵箱不能為空

} else {

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

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

$isInfoCanUse = false;

}

else {

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

}

}

}

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

$dbhost = ‘127.0.0.1’;//數(shù)據(jù)庫(kù)主機(jī)

$dbuser = ‘root’;//數(shù)據(jù)庫(kù)用戶名

$dbpass = ”;//數(shù)據(jù)庫(kù)密碼

$dbname = ‘users’;//數(shù)據(jù)庫(kù)名

$link = mysqli_connect($dbhost, $dbuser, $dbpass, $dbname);//連接數(shù)據(jù)庫(kù)

if (!$link) {

die(‘連接數(shù)據(jù)庫(kù)失敗<br/>’);//失敗 打印連接數(shù)據(jù)庫(kù)失敗

}

else {

//echo “連接數(shù)據(jù)庫(kù)成功<br/>”;//成功 打印連接數(shù)據(jù)庫(kù)成功

}

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

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

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

if($test != false) {

$userNameErr = “用戶名稱已經(jīng)存在”;//打印用戶名稱已經(jīng)存在

}

else {//sql 添加語(yǔ)句 添加用戶名 密碼 郵箱

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

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

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

echo “注冊(cè)成功<br/>”; //打印注冊(cè)成功

}

else {

echo “注冊(cè)失敗<br/>”;//打印注冊(cè)失敗

}

//頁(yè)面跳轉(zhuǎn)

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

}

}

?>

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

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

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

注冊(cè)密碼:<input type=”password” name=”password” />

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

注冊(cè)郵箱:<input type=”text” name=”email” />

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

<input type=”submit” value=”注冊(cè)” />

</form>

</body>

</html>

C.結(jié)果:

用PHP制作一個(gè)簡(jiǎn)單的注冊(cè)登錄頁(yè)面(用php制作一個(gè)簡(jiǎn)單的注冊(cè)登錄頁(yè)面)用PHP制作一個(gè)簡(jiǎn)單的注冊(cè)登錄頁(yè)面(用php制作一個(gè)簡(jiǎn)單的注冊(cè)登錄頁(yè)面)用PHP制作一個(gè)簡(jiǎn)單的注冊(cè)登錄頁(yè)面(用php制作一個(gè)簡(jiǎn)單的注冊(cè)登錄頁(yè)面)用PHP制作一個(gè)簡(jiǎn)單的注冊(cè)登錄頁(yè)面(用php制作一個(gè)簡(jiǎn)單的注冊(cè)登錄頁(yè)面)用PHP制作一個(gè)簡(jiǎn)單的注冊(cè)登錄頁(yè)面(用php制作一個(gè)簡(jiǎn)單的注冊(cè)登錄頁(yè)面)用PHP制作一個(gè)簡(jiǎn)單的注冊(cè)登錄頁(yè)面(用php制作一個(gè)簡(jiǎn)單的注冊(cè)登錄頁(yè)面)

4.注銷頁(yè)面

A.思維導(dǎo)圖:

用PHP制作一個(gè)簡(jiǎn)單的注冊(cè)登錄頁(yè)面(用php制作一個(gè)簡(jiǎn)單的注冊(cè)登錄頁(yè)面)

B.源碼:

<?php

session_start();//啟動(dòng)新會(huì)話或者重用現(xiàn)有會(huì)話說(shuō)明

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

{

session_unset();//會(huì)釋放當(dāng)前會(huì)話注冊(cè)的所有會(huì)話變量。

session_destroy();//銷毀一個(gè)會(huì)話中的全部數(shù)據(jù)

}

?>

<html>

<head>

<meta charset=”utf-8″ />

<title>注銷頁(yè)面</title><!–標(biāo)題–>

</head>

<body>

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

</body>

</html>

C.結(jié)果:

用PHP制作一個(gè)簡(jiǎn)單的注冊(cè)登錄頁(yè)面(用php制作一個(gè)簡(jiǎn)單的注冊(cè)登錄頁(yè)面)

相關(guān)新聞

聯(lián)系我們
聯(lián)系我們
公眾號(hào)
公眾號(hào)
在線咨詢
分享本頁(yè)
返回頂部