帐号
Admin-pwd
文本
16
是
无
密码
管理员信息表(Admin)
2.用户信息表
用户信息表记录了用户的详细信息,包括用户名、密码、和有关的个人信息,设置用户名为该表主键,如表2所示。
用户信息表(user-reg)
列名
数据类型
字段大小
必填字段
默认值
备注
User-name
文本
12
是
无
主键,用户名
Pas
文本
16
是
无
密码
Sex
文本
2
是
无
性别
Age
数字
1
是
无
年龄
Email
文本
50
是
无
电子邮件
Tel
文本
15
是
无
电话
Byear
数字
2
是
无
出生年
Bmonth
数字
1
是
无
出生月
Bday
数字
1
是
无
出生日
3.房间信息表
房间信息表记录了房间的编号、房间名称、房间类型和费用等信息,设置房间编号为该表主键,如表3所示。
房间信息表(room)
列名
数据类型
字段大小
必填字段
默认值
备注
Room-id
自动编号
2
是
无
主键,房间编号
Name
文本
30
是
无
房间名称
Type
文本
12
是
无
房间类型
Cost
货币
2
是
无
费用
4.预约信息表
预约信息表记录了用户预约房间的详细信息,包括预约帐号、预约编号、预约时间、房间编号、使用费用、是否付款和何时使用等信息,如表4所示。
预约信息表(preengage)
列名
数据类型
字段大小
必填字段
默认值
备注
Preengage-id
自动编号
2
是
无
主键,预约编号
User-name
文本
12
是
无
用户名
Room-id
文本
2
是
无
房间编号
Datetime
日期/时间
8
是
无
预约时间
Cost
货币
2
是
无
费用
Pyear
数字
2
是
无
开始年
Pmonth
数字
1
是
无
开始月
Pday
数字
1
是
无
开始日
Beginhour
数字
1
是
无
开始时间
Paid
数字
1
是
无
是否付款
5.留言信息表
留言信息表记录了留言的标题、留言编号、留言内容、留言用户等信息,如表5所示。设置留言编号为该表主键。
留言信息表(word)
列名
数据类型
字段大小
必填字段
默认值
备注
Word-id
自动编号
2
是
无
主键,留言编号
User-name
文本
12
是
无
用户名
Title
文本
50
是
无
标题
Word
文本
250
是
无
内容
Datetime
日期/时间
8
是
无
时间
4.4数据库的实现
酒店房间预约系统使用ASP+Access的工作模式,为了是系统正常工作,需要建立与数据库系统的连接来读取和写入数据。
使用数据库文件的语法为:〈!--#includefile="../Include/conndb.asp"--〉.使用过程中,file后面的路径应该根据实际文件的位置稍微调整。该文件代码的实现参见程序清单1
程序清单1数据库连接代码hotel.asp
<%
Dimhotel_conn
db="database/hotel.mdb"
connstr="Provider=Microsoft.Jet.OLEDB.4.0;DataSource="&Server.MapPath(db)
Sethotel_conn=Server.CreateObject("ADODB.Connection")
iferrThen
err.clear
endif
hotel_conn.Openconnstr
'关闭数据库连接,在每页中调用此函数,将连接放入连接池
subCloseConn()
hotel_conn.Close()
Sethotel_conn=Nothing
endsub
'替换单引号
functionRealString(strSrc)
RealString=Replace(Trim(strSrc),"'","''")
endfunction
%>
第五章、编写公共模块文件
公共模块主要包括以下几个部分:
●页面头文件。
●页面尾文件。
●管理员登陆判断代码。
●用户登录判断模块。
●注销模块。
●用户名判断函数。
●电子邮件地址判断函数。
●错误提示页面。
1.页面头文件
本系统的每个可显示的页面都有固定的页面头和页面尾,页面头包括图片和导航菜单,页面尾文件包括版权信息和联系方式。为了减少代码的重复编写,将它们分别单独作为一个文件来操作,使用时使用include命令来调用它们。程序清单2为页面头文件的实现代码。
程序清单2页面头文件实现代码include/head.asp
该头文件指定了页面头部图片,并在图片上设置了"热点",即用鼠标单击图片某一区域后进入相应的网页。
2.页面尾文件
程序清单3是页面文件的实现代码。使用该代码采用〈!--#includefile="../Include/foot.asp"--〉语句。
程序清单3页面尾文件实现代码Include/foot.asp
天空酒店管理系统©2005
E-mail:
tiandiren_3710167@qq.com
电话:
010-12345678
管理员登录
3.管理员登录判断代码
为了防止非管理员用户任意修改系统数据,在页面中需要加入管理员登录判断,其实现代码见程序清单4
程序清单4管理员登录判断代码include/is-admin.asp
<%
'判断管理员登陆------------------
ifisempty(session("admin_name"))then
response.Redirect("error.asp")
response.End()
endif
%>
4.用户登录判断代码
酒店房间预约系统是一个多用户系统,某些页面只有用户登录后方可开通,如留言等。为了防止非注册用户直接调用页面的这些功能,需要在页面中加入用户登陆判断代码。程序清单5是用户登录判断代码,和管理员登录判断代码类似。
程序清单5用户登录判断代码include/is-user.asp
<%
ifisempty(session("user_name"))then
response.Redirect("error.asp")
response.End()
endif
%>
5.注销模块
当用户或者管理员完成操作后,为保证系统安全,系统提供了安全注销功能,它是通过程序清单6所示的代码实现的。
程序清单6安全注销logout.asp
<%
session("user_name")=empty
session("admin_name")=empty
response.Redirect("index.asp")
%>
安全注销代码的使用,首先把用户名清空,进入首页。当用户再次进入该系统时通过用户判断或者管理员判断代码进行安全确认。这样就实现了安全注销功能。
6.用户名判断函数
注册某些网站用户的时候,会得到这样的提示"您的用户名出现非法字符"。在本系统中,规定用户名只能使用字母、数字和下划线,其实现过程见程序清单7
程序清单7判断合法用户名include/is-name.asp
<%
'用户名规则判定函数------------------
functionis_name(name)
dimi,c
is_name=true
fori=1tolen(name)
c=Lcase(Mid(name,i,1))
ifInStr("abcdefghijklmnopqrstuvwxyz_",c)<=0andnotIsNumeric(c)then
is_name=false
exitfunction
endif
next
endfunction
%>
7.电子邮件地址判断函数
与用户名类似,电子邮件地址也需要判断合法性。程序清单8就是电子邮件地址合法性判断函数。
程序清单8电子邮件合法性判断函数include/is-email.asp
<%
'判断管理员登陆------------------
ifisempty(session("admin_name"))then
response.Redirect("error.asp")
response.End()
endif
%>
8.错误提示页面
当用户违规操作是,系统会跳转到错误提示页面,如图9所示。
第六章、管理功能模块
有关管理员操作的各个页面必须在管理员登入后方可进入,因此,在这些页面的头部都加入了管理员登入验证代码。
1.登入模块
登入模块是管理员进入管理系统的入口,通过核实管理员名和密码来核实管理员身份,图10所示管理员页面。
图10管理员登录页面
提交的用户名和密码文件由admin.asp进行处理,并由它完成判断和跳转,程序清单9是admin.asp文件的实现代码。
程序清单9管理员登录验证admin.asp
<%
dimadmin_name,admin_psw,rs_admin
admin_name=request.Form("admin_name")
admin_psw=request.Form("admin_psw")
Setrs_admin=Server.CreateObject("ADODB.Recordset")
sql="SELECT*FROMadminwhereadmin_name='"&admin_name&"'"&"andadmin_psw='"&admin_psw&"'"
rs_admin.Opensql,hotel_conn,3,2
ifrs_admin.eoforrs_admin.bofthen
response.Redirect("adminerr.asp")
response.End()
else
session("admin_name")=rs_admin("admin_name")
response.Redirect("administrator.asp")
rs_admin.close
endif
%>
如果管理员验证成功则进入查看留言模块administrator.asp文件,反之则转至提示管理员错误登录页面adminerr.asp文件。
2.查看和管理留言页面模块
留言功能是为了提供与用户的交互活动而设计的,它包括生成留言列表、阅读留言和删除留言3大部分。
(1)生成留言列表
为了使管理员及时了解用户意见和建议,该系统把查看留言列表页面设置为管理员登录后的首页面,如图11所示。该功能由administrator.asp文件实现,见程序清单10
图11留言列表
见程序清单10生成留言列表核心代码administrator.asp
<%
dimrs_word,sql,readurl
setrs_word=server.CreateObject("adodb.recordset")
sql="select*fromword"
rs_word.opensql,hotel_conn,3,2
rs_word.movefirst
while(notrs_word.eof)
readurl="admin_rword.asp?word_id="&rs_word("word_id")
%>
<%=rs_word("user_name")%>
<%=rs_word("word_id")%>
<%=rs_word("datetime")%>
"target="_blank"><%=rs_word("title")%>
<%
rs_word.movenext
wend
rs_word.close
setrs_word=nothing
%>
(2)阅读留言模块
当管理员在留言列表中单击留言标题时会弹出阅读流言界面,如图12所示。
阅读留言代码的实现比较简单,直接读取数据库留言表word中的留言信息,并构造删除留言链接,其实现代码见程序清单11
图12阅读留言
程序清单11阅读留言核心代码admin_rword.asp
<%
dimword_id,rs_word,sql
word_id=request("word_id")
ifword_id=""thenresponse.Redirect("error.asp")
setrs_word=server.CreateObject("adodb.recordset")
sql="select*fromwordwhereword_id="&word_id
rs_word.opensql,hotel_conn,3,2
delurl="delword.asp?word_id="&word_id
%>
(3)删除留言模块
删除功能基本上是每个含有数据库的网站的必要功能。当管理员需要删除无用留言时,就会使用文件delword.asp,程序清单12是其实现代码。
<%
dimword_id,rs_del,sql
word_id=request("word_id")
ifword_id=""thenresponse.Redirect("error.asp")
setrs_del=server.CreateObject("adodb.recordset")
sql="deletefromwordwhereword_id="&word_id
rs_del.opensql,hotel_conn,3,2
setrs_del=nothing
%>
3.维护房间信息模块
维护房间模块包括显示房间列表、删除房间和修改房间信息3个功能。
(1)显示房间列表
图13所示为房间列表的显示页面。从图中可以看出,可以对房间进行删除或修改操作。
房间列表的功能实现是由文件damin_room.asp完成的,其代码见程序清单14
图13房间列表
程序清单13房间列表实现核心代码damin_room
上一篇:ASP邮件(论文和程序)
下一篇:试析影响公路路面平整度的因素及应采取的施工措施