目录
一.研究目的
本课题的目标是将传统的通过电话和面对面的销售的方式,转换到基于网络这样一个更方便快捷的方式。为企业节约了很多的时间和精力。时间就是金钱,对企业来说,节约时间就是节约成本,就是盈利。对用户来说,足不出户,就可以购买到自己想要吃的东西,对于所有的上班族来说,无疑是好之又好的事情。而且现在的网络发展速度相当的惊人,那么基于网络的订餐也会越来越流行,必定是一个趋势。
二.需求分析
1.新用户注册:填写注册信息。
2.注册用户登录:只有登录才能查看留言和订餐。
3.订餐:记录用户的订餐信息。
4.留言:记录用户的留言和评分信息。
1.订单管理:对用户的订单进行处理或删除。
2.留言管理:对用户的留言进行查看或删除。
3.用户管理:对用户信息进行查看或删除。
4.菜单管理:对菜单进行修改或者删除,添加新菜品。
用户模块包括:新用户注册,注册用户登录,注册用户订餐,注册用户留言和评分。
三.数据库展示
本设计主要由6个数据表组成:菜单表(dish),用户表(shopper),管理员表(manager),新订单表(neworder),添加订单表(orderadd)存储用户的订餐信息,留言信息表(message)存储留言,这些表都集中在一个数据库里面。
数据表:
与用户相关的数据表有:菜单表(dish),用户表(shopper),新订单表(neworder),添加订单表(orderadd),留言信息表(message)。分别如表1,表2,表3,表4所示。
表1 菜单表(dish)
主键和外键均为(cdishid) | ||||
列名 | 中文名称 | 数据类型 | 长度 | 是否允许空 |
Cdishid | 菜品编号 | Char | 10 | Not null |
Vdishname | 菜名 | Varchar | 60 | Not null |
Vdishdescription | 简介 | Varchar | 300 | Not null |
Cdishrate | 价格 | Char | 10 | Not null |
表2 用户表(shopper)
主键和外键均为(cshopperid) | ||||
列名 | 中文名称 | 数据类型 | 长度 | 是否允许空 |
Cshopperid | 用户名 | Char | 10 | Not null |
Cpassword | 密码 | Char | 50 | Not null |
Vemail | 电子邮箱 | Varchar | 50 | Not null |
Cphone | 电话 | Char | 15 | Null |
Vmemo | 备注 | Varchar | 200 | Null |
Csex | 性别 | Char | 10 | Not null |
Cage | 年龄 | Char | 10 | Null |
Dregistertime | 注册时间 | Datatime | 8 | Not null |
Dlastlandtime | 最后登录时间 | Datatime | 8 | Null |
Vaddress | 地址 | Varchar | 50 | null |
表3 新订单表(neworder)
主键为(oid) 外键为(dishid和userid) | ||||
列名 | 中文名称 | 数据类型 | 长度 | 是否允许空 |
oid | 订单序号 | numeric | 9 | Not null |
Orderid | 订单号 | Char | 10 | Not null |
Dishnumber | 数量 | Int | 4 | Not null |
Userid | 用户名 | Char | 10 | Not null |
Status | 是否确认 | Int | 4 | Not null |
dedate | 处理日期 | varChar | 20 | Null |
Birdate | 订餐时间 | Varchat | 20 | Not null |
表4添加订单表(orderadd)
列名 | 中文名称 | 数据类型 | 长度 | 是否允许空 | |
Orderid | 订单号 | Char | 10 | Not null | |
Orderaddress | 送餐地址 | Varchar | 50 | Not null |
表5 留言信息表(message)
主键为(cmessageid)外键为(cshopperid) | ||||
列名 | 中文名称 | 数据类型 | 长度 | 是否允许空 |
Cmessageid | 留言编号 | Char | 10 | Not null |
Cshopperid | 用户 | Char | 10 | Not null |
Dmessagetime | 留言时间 | Datatime | 8 | Not null |
Vmessage | 留言内容 | Varchar | 500 | Not null |
Cscore | 评分 | Char | 10 | Not null |
与管理员相关的数据表有:管理员表(manager),如表6。
表6 管理员表(manager)
主键为和外键均为(cmanagerid) | ||||
列名 | 中文名称 | 数据类型 | 长度 | 是否允许空 |
Cmanagerid | 管理员ID | Char | 20 | Not null |
Cpassword | 密码 | Char | 50 | Not null |
cpurview | 权限 | Char | 10 | Not null |
四.页面展示
用户填写注册信息包括必填项:用户名,密码,验证密码,email;和可选填写的信息。注册成功后返回登录成功页面,可以选择进行订餐和留言、评分操作。
代码展示
Dim conn1 As New System.Data.SqlClient.SqlConnection
Dim cmd1 As New System.Data.SqlClient.SqlCommand
Dim str1 As String
Dim str2 As String
str1 = Password1.Text
str2 = System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(str1, "MD5")
‘使用MD5加密算法加密密码文本框的值
conn1.ConnectionString = "Connect Timeout=5;packet size=4096;persist security info=False;initial catalog=dishsale;data source=32A5C0037011401;user id=sa;password=''"
cmd1.Connection = conn1
cmd1.CommandType = CommandType.Text
conn1.Open()
sqlstr = "insert shopper([cshopperid],[cpassword],[csex],[cage],[vaddress],[cphone],[vemail],[vmemo],[dregistertime],[dlastlandtime]) values('"
sqlstr += txtName.Text & "','"
sqlstr += str2 & "','"
If man.Checked Then
sqlstr += "男','"
ElseIf woman.Checked Then
sqlstr += "女','"
End If
sqlstr += txtAge.Text & "','"
sqlstr += txtAddress.Text & "','"
sqlstr += txtPhone.Text & "','"
sqlstr += txtEmail.Text & "','"
sqlstr += txtMemo.Text & "','"
sqlstr += System.DateTime.Now & "','"
sqlstr += System.DateTime.Now & "')"
cmd1.CommandText = sqlstr ‘将注册信息插入数据库
cmd1.ExecuteNonQuery()
conn1.Close()
用户需要填写用户名和密码,对输入的用户名与数据库的进行比较,若没有则返回错误,对密码也进行判断,因为密码在保存时是经过MD5加密的,所以在判断的时候也把输入的密码先进行MD5加密,然后进行比较。登录成功进入登录成功页面
代码展示
Dim cmd As New System.Data.SqlClient.SqlCommand
conn.Open()Dim str As String
str = System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(txtPass.Text, "MD5") ‘使用MD5加密密码文本框的值,用于下面跟数据库里面的值进行比较
cmd.CommandText = "select * from shopper where cshopperid='" & Trim(txtName.Text) & "' and cpassword= '" & str & "' "
cmd.Connection = conn
Dim reader As SqlDataReader = cmd.ExecuteReader
If reader.Read() Then
Session("cshopperid") = Trim(reader("cshopperid")) ‘检测用户名是否已经存在
Response.Redirect("login_suc.aspx")
Else
Session("cshopperid") = Nothing
wrong.Text = "用户名或者密码错误!"
End If
conn.Close()
使用DATAGRID绑定DISH表显示菜单,在DATAGRID上每行绑定一个多选按钮和下拉列表,进行多选和数量的选择。然后在文本框中输入送餐的地点,电话和其他的备注信息。若菜品和地址都填写好,则进入订餐成功页面,可以查看自己的订餐信息,可以进行修改和删除。若错误,则报告错误信息,返回订餐页面
五.免费源码获取
本文只展示了部分功能和源码需要免费源码可关注私信