當前位置: 首頁> 最新文章列表> 如何利用PHP函數實現用戶登錄和註銷功能?

如何利用PHP函數實現用戶登錄和註銷功能?

M66 2025-06-05

PHP實現用戶登錄和註銷功能概述

在Web開發中,用戶登錄和註銷是最基本也是最重要的功能之一。本文將通過一個簡單的示例,詳細介紹如何使用PHP函數實現完整的用戶登錄和退出流程。

步驟一:創建用戶信息數據庫

首先,需要建立一個數據庫來保存用戶的用戶名和密碼。以下是創建數據庫及數據表的示例SQL代碼:

CREATE DATABASE user_info;
USE user_info;
CREATE TABLE users (
  id INT AUTO_INCREMENT PRIMARY KEY,
  username VARCHAR(255) NOT NULL,
  password VARCHAR(255) NOT NULL
);

步驟二:編寫用戶登錄頁面

接著,需要一個登錄表單頁面,用於採集用戶輸入的賬號與密碼。

<!DOCTYPE html>
<html>
<head>
  <title>Login</title>
</head>
<body>
  <h1>Login</h1>
  <form action="login.php" method="POST">
    <label for="username">Username:</label>
    <input type="text" name="username" id="username" required><br>
    <label for="password">Password:</label>
    <input type="password" name="password" id="password" required><br>
    <input type="submit" value="Login">
  </form>
</body>
</html>

步驟三:處理登錄請求

用戶提交表單後,將跳轉到登錄處理頁。這個頁面會校驗賬號密碼,並開啟Session。

<?php
session_start();

// 獲取表單數據
$username = $_POST['username'];
$password = $_POST['password'];

// 連接數據庫
$mysqli = new mysqli('localhost', 'username', 'password', 'user_info');

// 查詢用戶信息
$query = "SELECT * FROM users WHERE username='$username' AND password='$password'";
$result = $mysqli-> query($query);

// 判斷登錄狀態if ($result->num_rows == 1) {
  $_SESSION[&#39;username&#39;] = $username;
  header(&#39;Location: welcome.php&#39;);
} else {
  echo &#39;Invalid username or password.&#39;;
}
?>

步驟四:創建歡迎頁面

登錄成功後跳轉至歡迎頁,如果未登錄則自動重定向回登錄頁面。

<?php
session_start();

if (isset($_SESSION['username'])) {
  $username = $_SESSION['username'];
  echo "Welcome, $username! ";
  echo '<a href="logout.php"> Logout &#39;;
} else {
  header(&#39;Location: login.php&#39;);
}
?>

步驟五:創建註銷功能

用戶點擊註銷後,應清除Session並跳轉回登錄頁。

<?php
session_start();
session_unset();
session_destroy();

header('Location: login.php');
?>

總結

通過PHP結合MySQL數據庫,可以快速實現一個簡單的用戶登錄與註銷功能。建議在實際項目中對密碼進行加密存儲(如使用password_hash() )、增加驗證碼功能,並使用預處理語句(Prepared Statements)防止SQL注入,以增強系統安全性。