[PHP從小白到大牛]-026 PHP-商城項目(二)

管理員用戶列表的顯示

D:\php20190701\php_code\0819-24\shop\backend\admin\index.phpphp

<?php 
// 引入函數
require_once '../db.func.php';
require_once '../tools.func.php';
$prefix = getDBPrefix(); // 獲取前綴
// 查詢數據庫
// sql語句
$sql = "select id,adminuser,created_at,login_at,login_ip from {$prefix}admin order by created_at desc";
// 遍歷數據
$result = queryAll($sql);
  include_once 'header.php';
?>
    // 省略html代碼....
<?php  
include_once 'footer.php';
?>
複製代碼
html代碼
// 省略代碼...
<?php foreach($result as $value): ?>
<tr>
    <td>
        <?php echo $value['id']; ?>
    </td>
    <td>
        <?php echo $value['adminuser']; ?>
    </td>
    <td>
        <?php echo $value['created_at']; ?>
    </td>
    <td>
        <?php echo $value['login_at']; ?>
    </td>
    <td>
        <?php echo long2ip($value['login_ip']); ?>
    </td>
</tr>
<?php endforeach; ?>

// 省略代碼...
複製代碼

後臺管理員修改密碼及退出操做

用戶修改密碼

D:\php20190701\php_code\0819-24\shop\backend\admin\admin_edit.phphtml

<?php
// 引入文件
include_once '../tools.func.php';
include_once '../db.func.php';
// 獲取提早獲取session, 由於session_start()以前不能有輸出
$current_admin = getSession('admin', 'admin');
// 判斷是否點擊了修改
if (!empty($_POST) && check_form()) {
    // 拼接sql語句, 更新用戶的密碼
    $id = $current_admin['id'];
    $adminpass = md5('yunhe_' . md5($_POST['newpwd']));
    $sql = "update admin set adminpass = '{$adminpass}' where id = {$id}";
    // 判斷結果
    if (execute($sql)) {
        // 若是執行成功, 跳轉到登陸頁面
        header('location:login.php');
    } else {
        // 若是執行失敗, 顯示信息
        setInfo('密碼修改失敗!');
    }
    ;
}
// 定義函數, 用來檢測表單元素是否正確
function check_form() {
    // 定義全局變量, 不然當前用戶的信息獲取不到
    global $current_admin;
    // 若是舊密碼爲空...
    if (empty($_POST['oldpwd'])) {
        setInfo('舊密碼不能爲空!');
        return false;
    }
    // 若是新密碼爲空...
    if (empty($_POST['newpwd'])) {
        setInfo('新密碼不能爲空!');
        return false;
    }
    // 若是新舊密碼一致...
    if ($_POST['oldpwd'] === $_POST['newpwd']) {
        setInfo('新密碼和舊密碼不能一致!');
        return false;
    }
    // 若是新密碼和確認密碼不一致...
    if ($_POST['newpwd'] !== $_POST['confirmpwd']) {
        setInfo('新密碼和確認密碼不一致!');
        return false;
    }
    // 鏈接數據,查詢,若是查不出來, 說明舊密碼錯了
    $adminuser = $current_admin['adminuser'];
    $adminpass = md5('yunhe_' . md5($_POST['oldpwd']));
    $sql = "select id from admin where adminuser = '{$adminuser}' and adminpass = '{$adminpass}'";
    $result = queryOne($sql);
    if (!$result) {
        setInfo('舊密碼錯誤!');
        return false;
    }
    return true;
}
include_once 'header.php';
?>
// 省略HTML代碼...
<?php include_once 'footer.php'; ?>
複製代碼

退出登陸

編寫html代碼中的註銷按鈕

D:\php20190701\php_code\0819-24\shop\backend\admin\header.phpsql

<a class="dropdown-item" href="logout.php">退出</a>
複製代碼

D:\php20190701\php_code\0819-24\shop\backend\admin\logout.php數據庫

<?php
require_once '../tools.func.php';
deleteSession('admin', 'admin');
header('location:login.php');
複製代碼
若是沒有登陸, 不能顯示其餘頁面, 都要跳回login.php

D:\php20190701\php_code\0819-24\shop\backend\admin\header.phpsession

<?php
session_id()||session_start();
if (empty($_SESSION['admin'])) {
  header('location:login.php');
}
?>
<!doctype html>
複製代碼
相關文章
相關標籤/搜索