3-1
index.php
<?php
//引入檔案(設定)
session_start();
require_once "config.php";
require_once 'function.php';
require_once 'smarty/libs/Smarty.class.php';
//實體化
$smarty = new Smarty;
//連線資料庫
$db = link_db();
// die(var_dump($smarty));
//變數過濾或預設直
$name = isset($_SESSION['name']) ? htmlspecialchars($_SESSION['name'], ENT_QUOTES) : '訪客';
$group = isset($_SESSION['group']) ? $_SESSION['group'] : '';
$op = isset($_REQUEST['op']) ? htmlspecialchars($_REQUEST['op'], ENT_QUOTES) : '';
$content = '';
//跑流程
switch ($op) {
case 'login':
login();
header("location: index.php");
exit;
case 'logout':
logout();
header("location: index.php");
exit;
// case 'regist':
// regist();
// break;
case 'save_regist':
save_regist();
header("location: index.php");
exit;
default:
# code...
break;
}
//函數區
//登入
function login()
{
global $admin_id, $admin_pass;
$name = isset($_POST['name']) ? $_POST['name'] : '';
if ($admin_id == $name and $admin_pass == $_POST['pass']) {
$_SESSION['group'] = "admin";
$_SESSION['name'] = $name;
return true;
} elseif ($user_id == $name and $user_pass == $_POST['pass']) {
$_SESSION['group'] = "user";
$_SESSION['name'] = $name;
return true;
}
return false;
}
//登出
function logout()
{
unset($_SESSION['group']);
unset($_SESSION['name']);
}
//新增使用者
function save_regist()
{
global $db, $admin_id;
$name = $db->real_escape_string($_POST['name']);
if (empty($name)) {
die("姓名為必填!");
}
$email = $db->real_escape_string($_POST['email']);
if (empty($email)) {
die("Eamil為必填!");
}
$email = filter_var($email, FILTER_VALIDATE_EMAIL);
if (!$email) {
die("不合法的Email");
}
$pass = $db->real_escape_string($_POST['pass']);
if (empty($pass)) {
die("密碼為必填!");
}
$pass = password_hash($pass, PASSWORD_DEFAULT);
$group = ($admin_id == $email) ? 'admin' : 'user';
$sql = "INSERT INTO `users` (`name`, `email`, `pass`, `group`) VALUES('{$name}', '{$email}','{$pass}','{$group}')";
$db->query($sql) or die($db->error);
$uid = $db->insert_id;
return $uid;
}
//結果送至樣板
$smarty->assign('my_name', $name);
$smarty->assign('group', $group);
$smarty->assign('page_title', '活動報名系統');
$smarty->assign('content', $content);
$smarty->assign('op', $op);
$smarty->display('index.tpl');