PHP点餐系统源码通过在线订购和交付系统为餐厅提供完整的销售渠道。这意味着餐厅可以利用它来增加利润并提高组织效率。它还可以帮助餐厅老板节省劳动力和服务这些客人所需的空间。
我们将通过本文看到的是带有源代码的PHP点餐系统,我们将通过本文详细了解这一点。使用 PHP 和 MySQL 的点餐系统具有管理员和访问者/客户页面。管理员管理网站所需的所有数据和可用菜单列表。
项目名称: PHP点餐系统
演示:c.ymzan.top
使用的语言:PHP
PHP版本(推荐):5.6.3、7.4.12
数据库:MySQL
类型: Web应用程序
更新: 0
部分源码展示
admin-page.php
<?php
include 'includes/connect.php';
if($_SESSION['admin_sid']==session_id())
{
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1.0, user-scalable=no">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="msapplication-tap-highlight" content="no">
<title>Food Menu</title>
<!-- Favicons-->
<link rel="icon" href="images/favicon/favicon-32x32.png" sizes="32x32">
<!-- Favicons-->
<link rel="apple-touch-icon-precomposed" href="images/favicon/apple-touch-icon-152x152.png">
<!-- For iPhone -->
<meta name="msapplication-TileColor" content="#00bcd4">
<meta name="msapplication-TileImage" content="images/favicon/mstile-144x144.png">
<!-- For Windows Phone -->
<!-- CORE CSS-->
<link href="css/materialize.min.css" type="text/css" rel="stylesheet" media="screen,projection">
<link href="css/style.min.css" type="text/css" rel="stylesheet" media="screen,projection">
<!-- Custome CSS-->
<link href="css/custom/custom.min.css" type="text/css" rel="stylesheet" media="screen,projection">
<!-- INCLUDED PLUGIN CSS ON THIS PAGE -->
<link href="js/plugins/perfect-scrollbar/perfect-scrollbar.css" type="text/css" rel="stylesheet" media="screen,projection">
<link href="js/plugins/data-tables/css/jquery.dataTables.min.css" type="text/css" rel="stylesheet" media="screen,projection">
<style type="text/css">
.input-field div.error{
position: relative;
top: -1rem;
left: 0rem;
font-size: 0.8rem;
color:#FF4081;
-webkit-transform: translateY(0%);
-ms-transform: translateY(0%);
-o-transform: translateY(0%);
transform: translateY(0%);
}
.input-field label.active{
width:100%;
}
.left-alert input[type=text] + label:after,
.left-alert input[type=password] + label:after,
.left-alert input[type=email] + label:after,
.left-alert input[type=url] + label:after,
.left-alert input[type=time] + label:after,
.left-alert input[type=date] + label:after,
.left-alert input[type=datetime-local] + label:after,
.left-alert input[type=tel] + label:after,
.left-alert input[type=number] + label:after,
.left-alert input[type=search] + label:after,
.left-alert textarea.materialize-textarea + label:after{
left:0px;
}
.right-alert input[type=text] + label:after,
.right-alert input[type=password] + label:after,
.right-alert input[type=email] + label:after,
.right-alert input[type=url] + label:after,
.right-alert input[type=time] + label:after,
.right-alert input[type=date] + label:after,
.right-alert input[type=datetime-local] + label:after,
.right-alert input[type=tel] + label:after,
.right-alert input[type=number] + label:after,
.right-alert input[type=search] + label:after,
.right-alert textarea.materialize-textarea + label:after{
right:70px;
}
</style>
</head>
<body>
<!-- Start Page Loading -->
<div id="loader-wrapper">
<div id="loader"></div>
<div class="loader-section section-left"></div>
<div class="loader-section section-right"></div>
</div>
<!-- End Page Loading -->
<!-- -->
<!-- START HEADER -->
<header id="header" class="page-topbar">
<!-- start header nav-->
<div class="navbar-fixed">
<nav class="navbar-color">
<div class="nav-wrapper">
<ul class="left">
<li><h1 class="logo-wrapper"><a href="index.php" class="brand-logo darken-1"><img src="images/materialize-logo.png" alt="logo"></a> <span class="logo-text">Logo</span></h1></li>
</ul>
</div>
</nav>
</div>
<!-- end header nav-->
</header>
<!-- END HEADER -->
<!-- -->
<!-- START MAIN -->
<div id="main">
<!-- START WRAPPER -->
<div class="wrapper">
<!-- START LEFT SIDEBAR NAV-->
<aside id="left-sidebar-nav">
<ul id="slide-out" class="side-nav fixed leftside-navigation">
<li class="user-details cyan darken-2">
<div class="row">
<div class="col col s4 m4 l4">
<img src="images/avatar.jpg" alt="" class="circle responsive-img valign profile-image">
</div>
<div class="col col s8 m8 l8">
<ul id="profile-dropdown" class="dropdown-content">
<li><a href="routers/logout.php"><i class="mdi-hardware-keyboard-tab"></i> Logout</a>
</li>
</ul>
</div>
<div class="col col s8 m8 l8">
<a class="btn-flat dropdown-button waves-effect waves-light white-text profile-btn" href="#" data-activates="profile-dropdown"><?php echo $name;?> <i class="mdi-navigation-arrow-drop-down right"></i></a>
<p class="user-roal"><?php echo $role;?></p>
</div>
</div>
</li>
<li class="bold active"><a href="index.php" class="waves-effect waves-cyan"><i class="mdi-editor-border-color"></i> Food Menu</a>
</li>
<li class="no-padding">
<ul class="collapsible collapsible-accordion">
<li class="bold"><a class="collapsible-header waves-effect waves-cyan"><i class="mdi-editor-insert-invitation"></i> Orders</a>
<div class="collapsible-body">
<ul>
<li><a href="all-orders.php">All Orders</a>
</li>
<?php
$sql = mysqli_query($con, "SELECT DISTINCT status FROM orders;");
while($row = mysqli_fetch_array($sql)){
echo '<li><a href="all-orders.php?status='.$row['status'].'">'.$row['status'].'</a>
</li>';
}
?>
</ul>
</div>
</li>
</ul>
</li>
<li class="no-padding">
<ul class="collapsible collapsible-accordion">
<li class="bold"><a class="collapsible-header waves-effect waves-cyan"><i class="mdi-action-question-answer"></i> Tickets</a>
<div class="collapsible-body">
<ul>
<li><a href="all-tickets.php">All Tickets</a>
</li>
<?php
$sql = mysqli_query($con, "SELECT DISTINCT status FROM tickets;");
while($row = mysqli_fetch_array($sql)){
echo '<li><a href="all-tickets.php?status='.$row['status'].'">'.$row['status'].'</a>
</li>';
}
?>
</ul>
</div>
</li>
</ul>
</li>
<li class="bold"><a href="users.php" class="waves-effect waves-cyan"><i class="mdi-social-person"></i> Users</a>
</li>
</ul>
<a href="#" data-activates="slide-out" class="sidebar-collapse btn-floating btn-medium waves-effect waves-light hide-on-large-only cyan"><i class="mdi-navigation-menu"></i></a>
</aside>
<!-- END LEFT SIDEBAR NAV-->
<!-- -->
<!-- START CONTENT -->
<section id="content">
<!--breadcrumbs start-->
<div id="breadcrumbs-wrapper">
<div class="container">
<div class="row">
<div class="col s12 m12 l12">
<h5 class="breadcrumbs-title">Food Menu</h5>
</div>
</div>
</div>
</div>
<!--breadcrumbs end-->
<!--start container-->
<div class="container">
<p class="caption">Add, Edit or Remove Menu Items.</p>
<div class="divider"></div>
<form class="formValidate" id="formValidate" method="post" action="routers/menu-router.php" novalidate="novalidate">
<div class="row">
<div class="col s12 m4 l3">
<h4 class="header">Order Food</h4>
</div>
<div>
<table id="data-table-admin" class="responsive-table display" cellspacing="0">
<thead>
<tr>
<th>Name</th>
<th>Item Price/Piece</th>
<th>Available</th>
</tr>
</thead>
<tbody>
<?php
$result = mysqli_query($con, "SELECT * FROM items");
while($row = mysqli_fetch_array($result))
{
echo '<tr><td><div class="input-field col s12"><label for="'.$row["id"].'_name">Name</label>';
echo '<input value="'.$row["name"].'" id="'.$row["id"].'_name" name="'.$row['id'].'_name" type="text" data-error=".errorTxt'.$row["id"].'"><div class="errorTxt'.$row["id"].'"></div></td>';
echo '<td><div class="input-field col s12 "><label for="'.$row["id"].'_price">Price</label>';
echo '<input value="'.$row["price"].'" id="'.$row["id"].'_price" name="'.$row['id'].'_price" type="text" data-error=".errorTxt'.$row["id"].'"><div class="errorTxt'.$row["id"].'"></div></td>';
echo '<td>';
if($row['deleted'] == 0){
$text1 = 'selected';
$text2 = '';
}
else{
$text1 = '';
$text2 = 'selected';
}
echo '<select name="'.$row['id'].'_hide">
<option value="1"'.$text1.'>Available</option>
<option value="2"'.$text2.'>Not Available</option>
</select></td></tr>';
}
?>
</tbody>
</table>
</div>
<div class="input-field col s12">
<button class="btn cyan waves-effect waves-light right" type="submit" name="action">Modify
<i class="mdi-content-send right"></i>
</button>
</div>
</div>
</form>
<form class="formValidate" id="formValidate1" method="post" action="routers/add-item.php" novalidate="novalidate">
<div class="row">
<div class="col s12 m4 l3">
<h4 class="header">Add Item</h4>
</div>
<div>
<table>
<thead>
<tr>
<th data-field="id">Name</th>
<th data-field="name">Item Price/Piece</th>
</tr>
</thead>
<tbody>
<?php
echo '<tr><td><div class="input-field col s12"><label for="name">Name</label>';
echo '<input id="name" name="name" type="text" data-error=".errorTxt01"><div class="errorTxt01"></div></td>';
echo '<td><div class="input-field col s12 "><label for="price" class="">Price</label>';
echo '<input id="price" name="price" type="text" data-error=".errorTxt02"><div class="errorTxt02"></div></td>';
echo '<td></tr>';
?>
</tbody>
</table>
</div>
<div class="input-field col s12">
<button class="btn cyan waves-effect waves-light right" type="submit" name="action">Add
<i class="mdi-content-send right"></i>
</button>
</div>
</div>
</form>
<div class="divider"></div>
</div>
</div>
</div>
<!--end container-->
</section>
<!-- END CONTENT -->
</div>
<!-- END WRAPPER -->
<!-- -->
<!-- START FOOTER -->
<footer class="page-footer">
<div class="footer-copyright">
<div class="container">
<span>Copyright © 2017 <a class="grey-text text-lighten-4" href="#" target="_blank">Students</a> All rights reserved.</span>
<span class="right"> Design and Developed by <a class="grey-text text-lighten-4" href="#">Students</a></span>
</div>
</div>
</footer>
<!-- END FOOTER -->
<!-- ================================================
Scripts
================================================ -->
<!-- jQuery Library -->
<script type="text/javascript" src="js/plugins/jquery-1.11.2.min.js"></script>
<!--angularjs-->
<script type="text/javascript" src="js/plugins/angular.min.js"></script>
<!--materialize js-->
<script type="text/javascript" src="js/materialize.min.js"></script>
<!--scrollbar-->
<script type="text/javascript" src="js/plugins/perfect-scrollbar/perfect-scrollbar.min.js"></script>
<!-- data-tables -->
<script type="text/javascript" src="js/plugins/data-tables/js/jquery.dataTables.min.js"></script>
<script type="text/javascript" src="js/plugins/data-tables/data-tables-script.js"></script>
<script type="text/javascript" src="js/plugins/jquery-validation/jquery.validate.min.js"></script>
<script type="text/javascript" src="js/plugins/jquery-validation/additional-methods.min.js"></script>
<!--plugins.js - Some Specific JS codes for Plugin Settings-->
<script type="text/javascript" src="js/plugins.min.js"></script>
<!--custom-script.js - Add your own theme custom JS-->
<script type="text/javascript" src="js/custom-script.js"></script>
<script type="text/javascript">
$("#formValidate").validate({
rules: {
<?php
$result = mysqli_query($con, "SELECT * FROM items");
while($row = mysqli_fetch_array($result))
{
echo $row["id"].'_name:{
required: true,
minlength: 5,
maxlength: 20
},';
echo $row["id"].'_price:{
required: true,
min: 0
},';
}
echo '},';
?>
messages: {
<?php
$result = mysqli_query($con, "SELECT * FROM items");
while($row = mysqli_fetch_array($result))
{
echo $row["id"].'_name:{
required: "Ener item name",
minlength: "Minimum length is 5 characters",
maxlength: "Maximum length is 20 characters"
},';
echo $row["id"].'_price:{
required: "Ener price of item",
min: "Minimum item price is Rs. 0"
},';
}
echo '},';
?>
errorElement : 'div',
errorPlacement: function(error, element) {
var placement = $(element).data('error');
if (placement) {
$(placement).append(error)
} else {
error.insertAfter(element);
}
}
});
</script>
<script type="text/javascript">
$("#formValidate1").validate({
rules: {
name: {
required: true,
minlength: 5
},
price: {
required: true,
min: 0
},
},
messages: {
name: {
required: "Enter item name",
minlength: "Minimum length is 5 characters"
},
price: {
required: "Enter item price",
minlength: "Minimum item price is Rs.0"
},
},
errorElement : 'div',
errorPlacement: function(error, element) {
var placement = $(element).data('error');
if (placement) {
$(placement).append(error)
} else {
error.insertAfter(element);
}
}
});
</script>
</body>
</html>
<?php
}
else
{
if($_SESSION['customer_sid']==session_id())
{
header("location:index.php");
}
else{
header("location:login.php");
}
}
?>
PHP点餐系统特征
管理面板
客户小组
管理食品、订单
订单类别
票务管理
用户管理
客户钱包
付款详情
订购食物
查看订单历史
取消食品订单
打开工单
更新用户资料
搭建PHP点餐系统
下载项目
解压项目文件
安装并运行 XAMPP
将项目文件夹移动到“ htdocs ”文件夹(不是解压的 .zip 文件)
打开“ http://localhost/phpmyadmin ”并使用“登录详细信息和项目信息”文件中提供的数据库创建一个数据库
使用“数据库文件”文件夹下的导入选项卡导入数据库文件(.sql 文件)
最后,打开“ http://localhost / foodname” URL
而已。使用项目文件夹中提供的详细信息登录并享受。
该PHP点餐系统是一个使用 PHP 和 MySQL 开发的简单项目。该项目将不同的餐厅与顾客联系起来。该项目包含一个管理员(经理)和用户端。编辑网站内容、更新食品、添加餐厅和检查订单状态等所有管理都可以从管理员端进行管理。站点上可以有许多管理员。
对于用户部分,用户可以浏览主页、关于和联系页面。为了订购食物,用户必须创建一个帐户并登录或登录。食物也需要付费。该项目为客户在线购买/购买食物提供了一种便捷的方式,而无需去餐厅。
这个PHP点餐系统采用 PHP、JavaScript 和 CSS 编写。谈到这个系统的功能,它包含管理员部分和用户部分。所有的编辑、更新、管理订单详细信息、食品和餐厅都来自管理部分,而客户只能通过该网站并在需要时下订单。该系统的设计很简单,因此用户在使用它时不会遇到任何困难。
小结
在线订餐系统是一个过程,在这个过程中,人们只需坐在家里或任何地方,就可以通过互联网从当地的一些餐馆和酒店订购各种食品和饮料。并将订单交付到指定的位置。通过提供端到端的客户交互管理系统,餐厅的PHP点餐系统源码可以帮助改善客户与餐厅的关系。它提供了一个全面的销售仪表面板,其中包括有关新订单、有效订单和取消订单的数据,以及终身销售统计数据。希望点餐系统为人们提供更多的生活便利!
更多推荐
PHP点餐系统源码附小程序点餐系统
发布评论