🔶章節:
🔹[開頭]
🔹[資料庫]
🔹[登入畫面]
🔹[登入處理]
🔹[將歡迎稱呼改為暱稱優先]
🔹[include介紹]
🔹[資料庫引入]
🔹[include介紹]
🔹[會員資料頁設定]
🔹[總結]
如果影片中不清楚,需要補充的地方我會再添加到這邊~
👆教學中的[練習]程式碼一併附上,影片中會有每組的講解、說明更清楚👆
include '檔案名稱';
舉例子:
我們需要創建一個名為 db_connection.php 的檔案。
在 db_connection.php 中,我們將建立資料庫連接的程式碼。
<?php
$servername = "localhost"; // 資料庫伺服器名稱
$username = "your_username"; // 資料庫使用者名稱
$password = "your_password"; // 資料庫使用者密碼
$dbname = "your_database"; // 資料庫名稱
// 建立資料庫連接
$conn = new mysqli($servername, $username, $password, $dbname);
// 檢查連接是否成功
if ($conn->connect_error) {
die("連接資料庫失敗: " . $conn->connect_error);
}
?>
我們可以在需要的頁面中使用:
include 'db_connection.php';
這樣,db_connection.php 中的程式碼就會被嵌入到當前頁面中。不需要再重複寫相同的程式碼了~
因為上集的資料庫沒有打得完整,這邊再來更新一次
CREATE TABLE member (
id INT AUTO_INCREMENT PRIMARY KEY,
account VARCHAR(255) NOT NULL,
username VARCHAR(255) NOT NULL,
nickname VARCHAR(255),
phone VARCHAR(20),
email VARCHAR(255) NOT NULL,
hashed_password VARCHAR(255) NOT NULL,
salt VARCHAR(255) NOT NULL
);
<?php
session_start();
include 'db_connect.php';
$email = $conn->real_escape_string($_POST['email']);
$password = $conn->real_escape_string($_POST['password']);
$sql = "SELECT * FROM member WHERE email='$email'";
$result = $conn->query($sql);
if ($result->num_rows == 1) {
$row = $result->fetch_assoc();
$hashedPassword = hash('sha256', $password . $row['salt']);
if ($hashedPassword === $row['hashed_password']) {
$welcomeMessage = "登入成功,歡迎回來 ";
$welcomeMessage .= !empty($row['nickname']) ? $row['nickname'] : $row['username'];
echo $welcomeMessage;
$_SESSION['user_id'] = $row['id'];
header("Location: member.php");
exit();
} else {
echo "密碼錯誤,請重新嘗試。";
}
} else {
echo "帳號不存在,請註冊新帳號。";
}
$conn->close();
?>
<?php
session_start();
if (!isset($_SESSION['user_id'])) {
header("Location: loginWeb.php");
exit();
}
$userId = $_SESSION['user_id'];
include 'db_connect.php';
$sql = "SELECT * FROM member WHERE id='$userId'";
$result = $conn->query($sql);
if ($result->num_rows == 1) {
$row = $result->fetch_assoc();
$username = $row['username'];
$email = $row['email'];
$phone = $row['phone'];
echo "歡迎回來, $username<br>";
echo "郵件地址: $email<br>";
echo "電話號碼: $phone<br>";
} else {
echo "無法獲取用戶信息。";
}
$conn->close();
?>
<?php
$servername = "指定資料庫伺服器的位址或 IP 位址";
$username = "指定資料庫使用者名稱";
$password = "與資料庫相關聯的密碼";
$dbname = "指定要連接的資料庫的名稱";
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("連接資料庫失敗: " . $conn->connect_error);
}
?>
通過這個教學,你已經掌握了建立登入畫面、連接資料庫、驗證使用者身份、跳轉頁面以及顯示會員資料等關鍵技能。希望這些知識能夠幫助打造更安全、更功能豐富的網站應用。
透過所學,可以再延伸更多完善體驗~~試試看吧