PHP 登入程式碼範例:簡單實作與說明
以下是一個簡單的 PHP 登入代碼範例:
<?php
session_start();
// 檢查是否提交了表單
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
// 取得使用者名稱和密碼
$username = $_POST['username'];
$password = $_POST['password'];
// TODO: 檢查使用者名稱和密碼是否正確,如果正確,設置 session 變數
if ($username == 'admin' && $password == 'password') {
$_SESSION['username'] = $username;
header('Location: dashboard.php'); // 跳轉到管理頁面
exit();
} else {
$error_message = '使用者名稱或密碼錯誤';
}
}
?>
<!DOCTYPE html>
<html>
<head>
<title>登入</title>
</head>
<body>
<h1>登入</h1>
<?php if (isset($error_message)): ?>
<p><?php echo $error_message; ?></p>
<?php endif; ?>
<form method="post">
<div>
<label for="username">使用者名稱:</label>
<input type="text" name="username" id="username" required>
</div>
<div>
<label for="password">密碼:</label>
<input type="password" name="password" id="password" required>
</div>
<div>
<button type="submit">登入</button>
</div>
</form>
</body>
</html>
這個代碼使用了 PHP 的 session_start() 函數來啟動 session,並在提交表單後檢查使用者名稱和密碼是否正確。如果正確,就設置一個 $_SESSION['username'] 變數,然後跳轉到管理頁面。如果不正確,就顯示一個錯誤消息。在 HTML 部分,這個代碼使用了一個表單來收集使用者名稱和密碼,並使用了 PHP 的 isset() 函數來檢查 $error_message 是否存在。
說明:
- session_start(): 啟動 Session 功能,讓伺服器可以儲存使用者資訊。
- $_SERVER['REQUEST_METHOD']: 判斷表單提交方式是否為 POST,以確認是否要處理登入邏輯。
- $_POST: 取得表單提交的使用者名稱和密碼。
- TODO: 此處需要根據實際需求,將 'admin' 和 'password' 替換為實際的使用者驗證邏輯。
- $_SESSION['username']: 儲存使用者名稱至 Session,以便在後續頁面中使用。
- header('Location: ...'): 將使用者導向到管理頁面。
- exit(): 停止執行後續程式碼。
- isset($error_message): 檢查是否有錯誤訊息存在,如果有則顯示。
注意事項:
- 這個範例只是簡單的登入系統,實際應用中可能需要更複雜的驗證邏輯和安全措施。
- 為了安全起見,不要在程式碼中直接寫明使用者名稱和密碼,應使用資料庫或其他安全儲存方式。
- 建議使用更安全的密碼哈希算法,例如 bcrypt 或 Argon2,來加密密碼。
原文地址: https://www.cveoy.top/t/topic/lPt2 著作权归作者所有。请勿转载和采集!