template_dir = "./templates";
$smarty->compile_dir = "./templates_c";
//$adminPass 陣列存放管理者帳號與密碼
//格式: $adminPass['帳號']='密碼'
$adminPass = array (
'tony' => 'secret',
'sophia' => '0810',
'joe' => 'flagpw'
);
//定義 $errMsg 變數, 用以存放錯誤訊息
$errMsg='';
//定義 $usrMsg 變數, 用以存放一般訊息
$usrMsg='';
//---------------------- 管理者登入功能------------------------------
//若使用者在登入表單輸入了帳號密碼
if ( ! empty($_POST['username']) && ! empty($_POST['password']) ){
//將 POST 過來的帳號密碼設定給 $username 與 $password 變數
$username=$_POST['username'];
$password=$_POST['password'];
//$adminPass[$username] 可以取得 $username 帳號的密碼,
//如果 $adminPass[$username] 的密碼與使用者輸入的相同,
//便開啟管理模式
if ( $adminPass[$username] == $password ) {
//$_SESSION['admin'] 變數代表是否開啟管理模式
$_SESSION['admin'] = TRUE;
//$_SESSION['adminUser'] 變數存放管理者名稱
$_SESSION['adminUser'] = $username;
}
else {
$errMsg.='帳號密碼不相符
';
}
}
//---------------------- 管理者登出功能 -----------------------------
//管理者按下登出連結時, 會以 GET 的方式傳入 logout 參數等於 1,
//所以如果 $_GET['logout'] 等於 1, 表示要登出, 關閉管理模式
elseif ( $_GET['logout'] == 1 ){
$_SESSION['admin'] = FALSE;
$usrMsg.='已經成功登出
';
}
//---------------------- 顯示登入表單 -------------------------------
if ( $_SESSION['admin'] == TRUE ) {
//如果管理模式已經開啟, 表示登入成功, 故將連線轉向至首頁 index.php
header("Location: index.php");
}
else {
//若未開啟管理模式, 便顯示相關訊息與登入表單
$smarty->assign('usrMsg',$usrMsg);
$smarty->assign('errMsg',$errMsg);
$smarty->assign('showLoginForm',TRUE);
$smarty->display('basic.tpl');
}
?>