題組三的管理登入算是簡單的功能,並不需要有個管理者的資料表來做紀錄,因此這邊只要直接寫死帳密做檢查即可;另外,雖然題目中沒有提到,但為了避免每次要到後台時都要再一次輸入帳號密碼,這邊建議還是透過 session
或 cookie
來紀錄登入的狀態:
- 建立
/view/backend/login.php
檔案,並撰寫登入表單html碼1
2
3
4
5
6
7
8
9
10
11<div style="color:red">
<!--判斷是否有錯誤訊息,如果有錯誤則在畫面上顯示-->
<?=$error??"";?>
</div>
<!--action為當前頁重載-->
<form action="?" method="post">
<p>帳號: <input type="text" name="acc" id="acc"></p>
<p>密碼: <input type="password" name="pw" id="pw"></p>
<p><input type="submit" value="登入"></p>
</form> - 在
backend.php
檔案的最前方,撰寫表單的驗證程式,如果驗證成功則建立session來代表登入成功,如果失敗則建立一個錯誤訊息變數供login.php
使用。1
2
3
4
5
6
7
8
9include_once "base.php";
if(!empty($_POST)){
if($_POST['acc']=='admin' && $_POST['pw']=="1234"){
$_SESSION['login']=1;
}else{
$error="帳號或密碼錯誤";
}
} - 在
backend.php
的功能選單中加入依照session
進行的判斷,因為合理來說,未登入的使用者應該是不能看到這些功能連結的
backend.php1
2
3
4
5
6
7
8
9
10
11
12
13<div id="mm">
if(isset($_SESSION['login'])){
<div class="ct a rb" style="position:relative; width:101.5%; left:-1%; padding:3px; top:-9px;">
<a href="?do=tit">網站標題管理</a>|
<a href="?do=go">動態文字管理</a>|
<a href="?do=poster">預告片海報管理</a>|
<a href="?do=movie">院線片管理</a>|
<a href="?do=order">電影訂票管理</a>
</div>
<?php } ?>
<div class="rb tab"> - 在
/view/backend/main.php
加上依據session
的有無而決定要載入那個檔案的語法
/view/backend/main.php1
2
3
4
5
6
7
8
9
if(isset($_SESSION['login'])){
<h2 class="ct">請選擇所需功能</h2>
<?php
}else{
include "./view/backend/login.php";
}