展示一個完整的 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)
);
<?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 "
返回 ";
}
?>
<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>
<?php
if ($yn != "yes") {
echo "請先登入!";
exit;
}
// 受保護頁面內容...
?>
mysql_* 函式(已棄用),生產環境請改用 mysqli 或 PDO 並採用預處理語句防止 SQL 注入。password_hash()/password_verify() 進行雜湊儲存。session_register() 已棄用,現代 PHP 直接操作 $_SESSION 超全域陣列。