Hà Nội, tháng 12 năm 2022 Mục lục 1.Khảo sát và phân tích 1.1 Khảo sát - Hiện nay, các hình thức kinh doanh truyền thống thường đi kèm với một trang thương mại điện tử để quảng cáo hoặc đáp ứng nhu cầu mua sắm, website mang đến sự tiện lợi cho người dùng. - Dự án cửa hàng bán bánh là dự án xây dựng website cho cửa hàng bán bánh ngọt trên internet. Mục đích lớn nhất của website này là đáp ứng nhu cầu mua sắm, tìm hiểu các loại bánh, ngồi ra website này cịn bán kém các đồ uống . - Lý do chính để phát triển mơ hình web bán bánh là mong muốn bánh ngọt của Dani Cake được biết đến và phổ biến rộng rãi hơn ở Việt Nam 1.2 Cơ sở dữ liệu Cấu Trúc 3 1.2.1 Bảng account Cấu Trúc 1.2.1 Bảng catalog Cấu Trúc 1.2.1 Bảng orders Cấu Trúc
4
1.2.1 Bảng order_detail
Cấu Trúc
Ràng Buộc
1.2.1 Bảng product
Cấu Trúc
5
2. Giao diện và chức năng
2.1 Admin
2.1.1 Giao diện đăng nhập
6
Code:
Login:
<div class="login">
<div class="login-container">
<div class="login-close">
<i class='bx bx-exit'></i>
</div>
<header class="login-header">
Đăng Nhập
</header>
<div class="login-body">
<form action="" method="POST">
<label for="login-username" class="login-label">
<i class='bx bx-user'></i>
Tài Khoản</label>
placeholder="Tên Đăng Nhập" required />
<label for="login-password" class="login-label">
<i class='bx bx-lock-alt'></i>
Mật Khẩu</label>
placeholder="Mật Khẩu" required />
<button id="btn-login" type="submit" name="LGsubmit">Đăng Nhập</button>
</form>
</div>
<footer class="login-footer">
<button class="login-register">Đăng Ký</button>
</footer>
</div>
</div>
7
Xử lý đăng nhập:
require "connect.php";
session_start();
error_reporting(E_ERROR | E_PARSE);
if ($_SESSION['online'] == '') {
if (isset($_POST['LGsubmit'])) {
$tk = $_POST['LGusername'];
$mk = $_POST['LGpassword'];
$sql = "SELECT * FROM account WHERE Username = '$tk' AND Password='$mk'";
$result = mysqli_query($conn, $sql);
$row = mysqli_fetch_array($result);
$count = mysqli_num_rows($result);
if ($count == 1) {
$_SESSION["online"] = $row['ID'];
if ($row['Role'] == 0)
header("location:indexcustomer.php");
else header("location:admin.php");
} else {
echo '<script>alert("Tài khoản hoặc mật khẩu không đúng !")</script>';
}
}
} else {
$sql = "SELECT Role FROM account WHERE ID=" . $_SESSION['online'];
$result = mysqli_query($conn, $sql);
$row = mysqli_fetch_array($result);
if ($row['Role'] == 0) {
header("location:indexcustomer.php");
} elseif ($row['Role'] == 1) {
header("location:admin.php");
} else header("location:login.php");
}
8
Register:
<div class="register">
<div class="register-container">
<div class="register-close">
<i class='bx bx-exit'></i>
</div>
<header class="register-header">
Đăng Ký
</header>
<div class="register-body">
<form action="" method="POST">
<label for="register-username" class="register-label">
<i class='bx bx-user'></i>
Tài Khoản</label>
placeholder="Tên Đăng Nhập" minlength="6" required />
<label for="register-password" class="register-label">
<i class='bx bx-lock-alt'></i>
Mật Khẩu</label>
placeholder="Mật Khẩu" minlength="6" required />
<label for="register-password2" class="register-label">
<i class='bx bx-lock-alt'></i>
Nhập Lại Mật Khẩu</label>
placeholder="Mật Khẩu" minlength="6" required />
<label for="register-email" class="register-label">
<i class='bx bx-envelope'></i>
Email</label>
placeholder="Email" required />
<button id="btn-register" name="RGsubmit" type="submit">Đăng Ký</button>
</form>
</div>
<footer class="register-footer">
<button class="register-login">Đăng Nhập</button>
</footer>
9
2.1.2 Giao diện tổng quan Admin
Code:
<div class="container">
<div class="slidebar">
<header>
Dashboard</a></header> <ul> <li><a href="ad_user.php"><i class='bx bx-user'></i>User</a></li> <li><a href="ad_catalog.php"><i class='bx bx-foodmenu'></i>Catalog</a></li> <li><a href="ad_cake.php"><i class='bx bx-cake'></i>Cake</a></li> <li><a href="ad_orders.php"><i class='bx bxcart'></i>Orders</a></li> <li><a href="logout.php"><i class='bx bx-logout'></i>Logout</a></li> </ul> </div> <div class="content" style="margin-left:25% ;margin-top:32px">Đã Đăng Nhập Quyền ADMIN !!! <table style="border:0px"> <tr> <td>
Code By: 10 </td> <td> Nguyễn Vũ</td> </tr> <tr> <td> Contact: </td> <td> </td> </tr> <tr><td>Chức năng: </td> <td> <ul> <li> Hệ Thống Quản Lý Tài Khoản</li> <li> Hệ Thống Quản Lý Catalog</li> <li> Hệ Thống Quản Lý Sản Phẩm</li> <li> Hệ Thống Quản Lý Đơn Hàng</li> </ul> </td> </tr> </table> 2.1.3 Quản Lý Tài Khoản 11 Tìm kiếm <div class="search"> <form action="" method="POST"> <input type="text" name="searchbar" placeholder="Username or Email....">
<select name="cboRole" id="cboRole"> <option value="">Tất Cả</option> <option value="0">Người Dùng</option> <option value="1">Admin</option></select> <input class="btn" type="submit" value=" Tìm kiếm " name="search"> <input class="btn" type="button" onclick="tableToExcel('Content_ID')" value="Xuất ra excel"> </form></div>if (isset($_POST["search"])) { $s = $_POST["searchbar"]; $srole = $_POST["cboRole"]; if ($s == '' && $srole == '') { $sql = "SELECT * FROM account "; } elseif ($s == '' && $srole != '') { $sql = "SELECT * FROM account WHERE Role = $srole "; } elseif ($s != '' && $srole == '') { $sql = "SELECT * FROM account WHERE Username like '%$s%' OR Email like '%$s%'"; } else $sql = "SELECT * FROM account WHERE (Username like '%$s%' OR Email like '%$s%') AND Role = $srole"; $result = mysqli_query($conn, $sql); $count = mysqli_num_rows($result); if ($count <= 0) {echo " Khơng tìm thấy kết quả phù hợp "; echo "<a class='btn' href='ad_user.php';>Refesh </a>"; } else {echo "Tìm thấy " . $count . " kết quả : "; ?> 12 Xuất Excel
var tableToExcel = (function() { var uri = 'data:application/vnd.ms-excel;base64,', template = '<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemasmicrosoft-com:office:excel" xmlns="http:www.w3.org/TR/REC-html40"> content="application/vnd.ms-excel; charset=UTF-8"><head>