db = "database/hotel.mdb"
connstr = "Provider = Microsoft.Jet.OLEDB.4.0;Data Source = " & Server.MapPath(db)
Set hotel_conn = Server.CreateObject("ADODB.Connection")
if err Then
err.clear
end if
hotel_conn.Open connstr
'关闭数据库连接,在每页中调用此函数,将连接放入连接池
sub CloseConn()
hotel_conn.Close()
Set hotel_conn = Nothing
end sub
mailto:rickywon@163.com">tiandiren_886@163.com</a></div></td>
<td><div align="left">电话:</div></td>
<td><div align="left">010-12345678</div></td>
<td><div align="left"><a href="adminlogin.asp">管理员登录</a></div></td>
</tr>
<tr class="text">
<td colspan="5"><div align="center"></div></td>
</tr>
</table>
3.管理员登录判断代码
为了防止非管理员用户任意修改系统数据,在页面中需要加入管理员登录判断,其实现代码见程序清单4
程序清单4 管理员登录判断代码 include/is-admin.asp
<%
'判断管理员登陆------------------
if isempty(session("admin_name")) then
response.Redirect("error.asp")
response.End()
end if
%>
用户登录判断代码
酒店房间预约系统是一个多用户系统,某些页面只有用户登录后方可开通,如留言等。为了防止非注册用户直接调用页面的这些功能,需要在页面中加入用户登陆判断代码。程序清单5是用户登录判断代码,和管理员登录判断代码类似。
程序清单5 用户登录判断代码 include/is-user.asp
<%
if isempty(session("user_name")) then
response.Redirect("error.asp")
response.End()
end if
%>
注销模块
当用户或者管理员完成操作后,为保证系统安全,系统提供了安全注销功能,它是通过程序清单6所示的代码实现的。
程序清单6 安全注销 logout.asp
<%
session("user_name")=empty
session("admin_name")=empty
response.Redirect("index.asp")
%>
安全注销代码的使用,首先把用户名清空,进入首页。当用户再次进入该系统时通过用户判断或者管理员判断代码进行安全确认。这样就实现了安全注销功能。
6. 用户名判断函数
注册某些网站用户的时候,会得到这样的提示“您的用户名出现非法字符”。在本系统中,规定用户名只能使用字母、数字和下划线,其实现过程见程序清单7
程序清单7 判断合法用户名 include/is-name.asp
<%
'用户名规则判定函数------------------
function is_name(name)
dim i, c
is_name = true
for i = 1 to len(name)
c = Lcase(Mid(name, i, 1))
if InStr("abcdefghijklmnopqrstuvwxyz_", c) <= 0 and not IsNumeric(c) then
is_name = false
exit function
end if
next
end function
%>
7. 电子邮件地址判断函数
与用户名类似,电子邮件地址也需要判断合法性。程序清单8就是电子邮件地址合法性判断函数。
程序清单8 电子邮件合法性判断函数 include/is-email.asp
<%
'判断管理员登陆------------------
if isempty(session("admin_name")) then
response.Redirect("error.asp")
response.End()
end if
%>
图12 阅读留言
程序清单11 阅读留言核心代码admin_rword.asp
<%
dim word_id,rs_word,sql
word_id=request("word_id")
if word_id="" then response.Redirect("error.asp")
set rs_word=server.CreateObject("adodb.recordset")
sql = "select * from word where word_id =" & word_id
rs_word.open sql,hotel_conn,3,2
delurl="delword.asp?word_id=" & word_id
%>
(3)删除留言模块
删除功能基本上是每个含有数据库的网站的必要功能。当管理员需要删除无用留言时,就会使用文件delword.asp,程序清单12是其实现代码。
<%
dim word_id,rs_del,sql
word_id=request("word_id")
if word_id="" then response.Redirect("error.asp")
set rs_del=server.CreateObject("adodb.recordset")
sql = "delete from word where word_id = " & word_id
rs_del.open sql,hotel_conn,3,2
set rs_del=nothing
%>
3.维护房间信息模块
维护房间模块包括显示房间列表、删除房间和修改房间信息3个功能。
显示房间列表
图13所示为房间列表的显示页面。从图中可以看出,可以对房间进行删除或修改操作。
房间列表的功能实现是由文件damin_room.asp完成的,其代码见程序清单14
图13 房间列表
程序清单13 房间列表实现核心代码damin_room.asp
<%
dim rs_room,sql,delurl,editurl
set rs_room=server.CreateObject("adodb.recordset")
sql = "select * from room "
rs_room.open sql,hotel_conn,3,2
rs_room.movefirst
while (not rs_room.eof)
delurl="del.asp?room_id=" & rs_room("room_id")
editurl="admin_edit.asp?room_id=" & rs_room("room_id")
%