Title1

Title2

Title3

10-7 登入

admin.php

<?php
/*---- 必須引入----*/
require_once 'head.php';
$WEB['title'] = "育將電腦工作室";
#程式流程

#整理傳入變數
$op = isset($_REQUEST['op']) ? $_REQUEST['op'] : "";

#程式流程
switch ($op) {
#登入
case "op_login":
	#判斷帳密,若正確則轉至 admin/index.php,若不正確則繼續輸入密碼
	if (op_login()) {
		$_SESSION['admin'] = true;
		header("location:admin/index.php");
		exit;
	}
	break;
#登出
case "op_logout":
	$_SESSION['admin'] = "";
	header("location:index.php");
	exit;
	break;
#----

//預設動作
default:
	$op = "op_list";

	break;
}

/*---- 將變數送至樣版----*/
$smarty->assign("WEB", $WEB);

/*---- 程式結尾-----*/
$smarty->display('theme.html');
/*---- 函數區-----*/
#################################
# 使用者登入判斷
# 帳、密正確,返回 true 、不正確 返回 false
#################################
function op_login() {
	global $mysqli;
	#過濾傳入變數
	$_POST['uname'] = $mysqli->real_escape_string($_POST['uname']);
	$_POST['password'] = $mysqli->real_escape_string($_POST['password']);
	if ($_POST['uname'] == "admin" and $_POST['password'] == "123456") {
		return true;
	}
	return false;
}
  1. 程式預設執行 creative_login.html (在 default/theme.html  判斷)
  2. 送出表單 op="op_login" => 判斷帳密 =>正確跳至 admin/index.php 

登入畫面:

defalut/theme.html
 


    <{* 登入判斷 *}>
    <div style='position:fixed;top:1px;left:1px;z-index:10000'>
      <{if $smarty.session.admin}>
        <a href="admin/index.php">&nbsp;&nbsp;</a>
      <{else}>
        <a href="admin.php">&nbsp;&nbsp;</a>
      <{/if}>
    </div >

由於這裡用 $_SESSION['admin'] 做判斷
所以在程式裡必須設定預設值,否則程式會報錯
head.php
 

$_SESSION['admin'] = isset($_SESSION['admin']) ? $_SESSION['admin'] : "";