首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

PHP + MySQL 登入驗證系統實作範例(含 Session 管理)

     編輯:MySQL 資料庫相關知識

展示一個完整的 PHP 3/4 登入驗證程式:資料表結構、資料庫連接、帳密驗證、Session 註冊、登入成功/失敗回饋與表單介面。

資料表結構

CREATE TABLE user (
  id SMALLINT(6) NOT NULL AUTO_INCREMENT,
  user VARCHAR(12) NOT NULL,
  passwd VARCHAR(12) NOT NULL,
  name VARCHAR(20),
  email VARCHAR(30),
  level CHAR(1),
  status CHAR(1),
  PRIMARY KEY (id)
);

核心驗證邏輯 (login.php3)

<?php
$db_id = mysql_pconnect("localhost", "root", "");
$sql = "SELECT id, user, passwd FROM user WHERE user='$name' AND passwd='$pwd'";
$result = mysql_db_query("mydb", $sql);
$row = mysql_fetch_array($result);
$id = $row['id'];

if ($id != "") {
  session_start();
  session_register("yn");
  $yn = "yes";
  echo "你已經成功登陸。。。

"; echo "

視窗 10 秒後自動關閉
"; } else { echo "帳號或密碼錯誤!!!

"; echo "

返回
"; } ?>

登入表單 (HTML)

<form method="post" action="login.php3">
  用戶: <input type="text" name="name" size="14">
密碼: <input type="password" name="pwd" size="14">
<input type="submit" name="Submit1" value=" 登 陸 "> </form>

進階驗證檢查 (login_chk.php3)

<?php
if ($yn != "yes") {
  echo "請先登入!";
  exit;
}
// 受保護頁面內容...
?>

安全性提醒

  • 範例使用舊版 mysql_* 函式(已棄用),生產環境請改用 mysqli 或 PDO 並採用預處理語句防止 SQL 注入。
  • 密碼明文儲存極不安全,實務必須使用 password_hash()/password_verify() 進行雜湊儲存。
  • session_register() 已棄用,現代 PHP 直接操作 $_SESSION 超全域陣列。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved