当前位置: 首页 > news >正文

优秀的网站首页网站建设系统服务

优秀的网站首页,网站建设系统服务,服务器在国外的网站,wordpress数据库查询数据库名摘要 随着国内经济形势持续发展#xff0c;国内酒店业进入难得的发展高峰期#xff0c;使得中外资本家纷纷将目光投向中低端市场。然而#xff0c;中国酒店业的区域结构不合理、竞争手段不足和市场对经济型酒店的需求日益显露#xff0c;以及2008年北京奥运会、2010年上海…摘要 随着国内经济形势持续发展国内酒店业进入难得的发展高峰期使得中外资本家纷纷将目光投向中低端市场。然而中国酒店业的区域结构不合理、竞争手段不足和市场对经济型酒店的需求日益显露以及2008年北京奥运会、2010年上海世界博览会对酒店业的积极影响等诸多力量的交织使得中国酒店市场演变成了一个淘金圣地。 在信息高度发达的今天酒店制度的改革已经成为一种更广泛、全面的潮流。该“酒店房间预约系统设计”是基于Access 2003数据库、ASP程序设计的基础上实现的。该系统可以保存和处理多个酒店的名称、星级和地址等基本信息以及每个酒店的房间信息同时可以保存和处理客户的订单信息并且对于这些系统提供了相应的查询功能而且有完善的多用户安全功能。保证在我国经济持续发展、信息时代日益更新的今天服务行业依然蒸蒸日上。 31 功能需求 酒店预约基本都是需要通过电话或客户直接到酒店进行由于预约记录多是人为完成容易造成失误和遗漏管理效率比较低特别是顾客比较多的季节传统的预约方式已经基本不能满足要求。 远程预约系统是一种全新的网络预约方式通过互联网突破了时间和空间限制实现了便捷快速的预约与管理功能。本系统具有房间信息查询、预约房间和取消预约等功能。 本酒店房间预约系统按照用户部分和管理员部分划分了两块它们所实现的功能如下。 用户部分 用户注册检测用户提供的信息并注册用户。用户登陆通过用户名和密码核实登陆用户身份。预约房间预约某个时间的某一房间。查询预约信息查询该用户的预约信息。取消房间预约取消某一到期且未付款的有效预约。查询房间信息按照用户提出的条件列出查询结果。给站长留言检查用户留言的正确性并保存。注销用户结束用户会话保证安全。 2. 管理员部分 阅览用户留言调用用户留言并显示。  删除无用留言删除需要处理的留言。添加房间添加新的房间注册详细信息。删除房间根据用户提交的信息删除指定的房间。修改房间信息对于存在的某房间信息进行修改更新。确认已付款用户的预约当用户付款后对指定预约进行标记。删除无用或错误的预约信息。房间预约统计和用户统计。安全注销。 41系统模块结构设计 系统设计主要包括功能模块的划分和系统流程的分析。根据客户的需求总结系统主要完成的功能以及将来拓展需要完成的功能然后根据设计好的功能划分出系统的功能模块这样方便程序员管理和维护最后设计出系统的流程。接下来就详细介绍系统设计的前期准备。 4.1.1  功能模块划分 酒店房间预约系统应该具有用户注册登录、查看预约房间、留言、管理员综合管理等功能。根据对该系统的功能需求分析可以画出系统功能模块图。本系统将功能划分为用户和管理员两部分图1所示是用户部分的功能模块图。 用户模块包括注册、登录和注销3个功能子模块注册模块提供用户注册成为酒店房间预约系统的会员拥有预约房间的功能而只有登录的用户方可以进行房间的预约因此登录模块提供会员登录功能。为了防止其他用户私自修改用户信息同时又设计了注销功能模块。房间模块包括查看房间、查询房间、查看预约、预约房间和取消预约等功能。通过查看或者输入条件查询房间可以获得房间的具体信息如果为登录用户此时可以进行房间的预约操作用户觉得不满意可以通过取消预约模块取消预约同时用户可以通过查看预约模块查看用户所有的预约信息。留言模块为用户提供一个发表自己看法的场所如果遇到什么困难或者不满意的地方。可以通过该模块发表。 管理端部分的功能如图2所示。 管理员登录模块提供管理员登录的入口只有成功登录后才可以执行管理员操作。添加房间功能模块为管理员提供添加新的房间的功能此时管理员可以输入详细的房间信息。如果房间出现问题或者该房间已经不存在管理员可以通过删除房间模块把该房间删除。当房间信息发生改变时管理员可以通过修改房间信息模块对房间的信息进行修改。管理员可以通过阅读留言模块查看用户发表的留言并可以进行回复和删除等操作。用户的预约只有等管理员确认后方可生效管理员就是通过预约管理模块对用户的预约信息进行管理的包括确定预约和删除预约等。 管理员操作结束时需要通过注销登录模块注销登录防止系统信息被篡改。 有关管理员操作的各个页面必须在管理员登入后方可进入因此在这些页面的头部都加入了管理员登入验证代码。 6.1  管理功能模块 1.登入模块 登入模块是管理员进入管理系统的入口通过核实管理员名和密码来核实管理员身份图10所示管理员页面。 图10  管理员登录页面 提交的用户名和密码文件由admin.asp进行处理并由它完成判断和跳转程序清单9是admin.asp文件的实现代码。 程序清单9  管理员登录验证admin.asp % dim admin_name,admin_psw,rs_admin admin_namerequest.Form(admin_name) admin_pswrequest.Form(admin_psw) Set rs_admin Server.CreateObject(ADODB.Recordset) sql SELECT * FROM admin where admin_name admin_name and admin_psw admin_psw rs_admin.Open sql,hotel_conn,3,2 if rs_admin.eof or rs_admin.bof then response.Redirect(adminerr.asp) response.End() else session(admin_name) rs_admin(admin_name) response.Redirect(administrator.asp) rs_admin.close end if % 如果管理员验证成功则进入查看留言模块administrator.asp文件反之则转至提示管理员错误登录页面adminerr.asp文件。 2.查看和管理留言页面模块 留言功能是为了提供与用户的交互活动而设计的它包括生成留言列表、阅读留言和删除留言3大部分。 生成留言列表 为了使管理员及时了解用户意见和建议该系统把查看留言列表页面设置为管理员登录后的首页面如图11所示。该功能由administrator.asp文件实现见程序清单10 图11  留言列表 见程序清单10 生成留言列表核心代码administrator.asp % dim rs_word,sql,readurl set rs_wordserver.CreateObject(adodb.recordset) sql select * from word rs_word.open sql,hotel_conn,3,2 rs_word.movefirst while (not rs_word.eof) readurladmin_rword.asp?word_id rs_word(word_id)                % tr classtext tddiv alignleft% rs_word(user_name) %/div/td tddiv alignleft% rs_word(word_id) %/div/td tddiv alignleft% rs_word(datetime) %/div/td td div alignleft a href% readurl % target_blank% rs_word(title) %/a /div /td /tr % rs_word.movenext wend rs_word.close set rs_word nothing % (2)阅读留言模块 当管理员在留言列表中单击留言标题时会弹出阅读流言界面如图12所示。 阅读留言代码的实现比较简单直接读取数据库留言表word中的留言信息并构造删除留言链接其实现代码见程序清单11 图12  阅读留言 程序清单11 阅读留言核心代码admin_rword.asp % dim word_id,rs_word,sql word_idrequest(word_id) if word_id then response.Redirect(error.asp) set rs_wordserver.CreateObject(adodb.recordset) sql select * from word where word_id word_id rs_word.open sql,hotel_conn,3,2 delurldelword.asp?word_id word_id % (3)删除留言模块 删除功能基本上是每个含有数据库的网站的必要功能。当管理员需要删除无用留言时就会使用文件delword.asp程序清单12是其实现代码。 % dim word_id,rs_del,sql word_idrequest(word_id) if word_id then response.Redirect(error.asp) set rs_delserver.CreateObject(adodb.recordset) sql delete from word where word_id word_id rs_del.open sql,hotel_conn,3,2 set rs_delnothing % 3.维护房间信息模块 维护房间模块包括显示房间列表、删除房间和修改房间信息3个功能。 显示房间列表 图13所示为房间列表的显示页面。从图中可以看出可以对房间进行删除或修改操作。 房间列表的功能实现是由文件damin_room.asp完成的其代码见程序清单14 图13 房间列表 程序清单13 房间列表实现核心代码damin_room.asp % dim rs_room,sql,delurl,editurl set rs_roomserver.CreateObject(adodb.recordset) sql select * from room rs_room.open sql,hotel_conn,3,2 rs_room.movefirst while (not rs_room.eof) delurldel.asp?room_id rs_room(room_id) editurladmin_edit.asp?room_id rs_room(room_id) % tr classtext tddiv alignleft% rs_room(room_id) %/div/td tddiv alignleft% rs_room(name) %/div/td tddiv alignleft% rs_room(type) %/div/td tddiv alignleft% rs_room(cost) %/div/td td div alignleft [a href% delurl %删除/a] [a href% editurl %修改/a] /div /td /tr %               rs_room.movenext wend % 删除房间 当酒店因为某种原因不能提供预约时管理员可以将该房间从数据库中删除删除功能的实现是文件del.asp来实现的程序清单14是实现删除功能的代码。 图15删除房间成功页面 程序清单14  删除房间实现代码 % dim room_id,sql,rs_del room_idrequest(room_id) if room_id then response.Redirect(error.asp) set rs_delserver.CreateObject(adodb.recordset) sql delete from room where room_id room_id rs_del.open sql,hotel_conn,3,2 % 当管理员成功删除指定房间后会显示删除成功界面如图15所示。 修改房间信息 修改房间信息的功能是修改存在于数据库中的房间信息包括房间名称、房间类型和费用但是不能修改房间ID。 修改房间信息功能有admin_edit.asp和admin_editchk.asp两个文件来完成。第一个文件用来接受管理员填写的更新信息第二个用来检查数据并写入数据库中。图16所示是填写房间信息表单的页面。 图16 修改房间信息 程序清单15  修改房间信息核心代码admin_editchk.asp % dim err(4) dim room_id,room_name,room_type,cost,haveerr,rs_edit,sql room_idrequest.Form(room_id) room_namerequest.Form(name) room_typerequest.Form(type) costrequest.Form(cost) if len(room_name) 30 then err(1)房间名称不能超过30个字符 if len(room_name) 2 then err(1)房间名称不能少于2个字符 if not IsNumeric(cost) then err(2)费用必须是数字 if room_type then err(3)房间类型不能位为空 if len(cost) 4 then err(4)费用不能多于4位数 for i1 to 4 if err(i) then haveerr1 next If haveerr 0 Then set rs_editserver.CreateObject(adodb.recordset) sql select * from room where room_id room_id rs_edit.open sql,hotel_conn,3,2 rs_edit(name)room_name rs_edit(type)room_type rs_edit(cost)cost rs_edit.update % 4.添加房间模块 该功能模块的实现是由文件admin_addnew.asp完成的。添加房间的页面如图17所示。其实实现代码比较简单就不再详细论述。 当管理员正确提交了要添加新房间的信息后就会出现如图18所示的成功提示该功能是由文件admin_addnewchk.asp完成的其实现代码见程序清单16 图17 添加新房间 程序清单16 添加房间页面关键代码admin_addnewchk.asp % dim err(3) dim haveerr,room_name,room_type,cost,i dim rs_add,sql room_namerequest.Form(name) room_typerequest.Form(type) costrequest.Form(cost) if len(room_name) 30 then err(1)房间名称不能超过30个字符 if len(room_name) 2 then err(1)房间名称不能少于2个字符 if not IsNumeric(cost) then err(2)费用必须是数字 if len(cost) 4 then err(3)费用不能多于4位数 for i1 to 3 if err(i) then haveerr1 next If haveerr0 Then set rs_addserver.CreateObject(adodb.recordset) sql select * from room rs_add.open sql,hotel_conn,3,2 rs_add.addnew rs_add(name)room_name rs_add(room_id)room_name rs_add(type)room_type rs_add(cost)cost rs_add.update % % for i1 to 3 if err(i) then response.Write(● err(i) br) next % % End If % % set rs_addnothing % 5.预约管理模块 预约管理模块包括确认预约和删除预约两部分确认预约是指在用户已经对指定的预约付款后管理员在预约数据库中将对应的预约信息修改为为已付款操作删除预约用于在数据库预约表中出现错误预约或恶意预约后由管理员强制将其删除。 确认预约页面 酒店房间预约系统规定用户不能取消已经付款的预约因为这些预约已经被认为是有效预约。同样管理员不能删除已经付款的预约。预约列表界面是确认预约页面的一部分它将为管理员显示所有为付款的预约并提供“确认预约”和“删除”超链接。 图19所示是显示预约列表页面图20所示是预约确认成功提示信息页面它们的实现都由文件admin_chk.asp完成它们的实现代码见程序清单17 图19  预约列表 图20 预约确认 程序清单17 确认预约功能核心代码admin_chk.asp % dim preengage_id,rs_preengage,sql,rs_room,datetime preengage_idrequest(preengage_id) set rs_preengageserver.CreateObject(adodb.recordset) If preengage_id Then sql select * from preengage where paid 0 rs_preengage.open sql,hotel_conn,3,2 rs_preengage.movefirst % br table width584 border0 classtable_small tr td colspan6nbsp;/td /tr tr td colspan6 classtext_titlediv alignleft预约确认/div/td /tr tr td colspan6 classtable_titlenbsp;/td /tr tr classtext td width86div alignleft预约用户/div/td td width125 classtextdiv alignleft房间名称/div/td td width89div alignleft预约日期/div/td td width89div alignleft预约时间/div/td td width61div alignleft费用/div/td td width104div alignleft操作/div/td /tr % while (not rs_preengage.eof) % tr classtext tddiv alignleft% rs_preengage(user_name) %/div/td td classtext div alignleft % set rs_roomserver.CreateObject(adodb.recordset) sql select * from room where room_id rs_preengage(room_id) rs_room.open sql,hotel_conn,3,2 response.Write(rs_room(name)) rs_room.close % /div/td tddiv alignleft% rs_preengage(pyear) - rs_preengage(pmonth) - rs_preengage(pday) %/div/td tddiv alignleft% rs_preengage(beginhour) :00- (rs_preengage(beginhour)1) :00 %/div/td tddiv alignleft% rs_preengage(cost) %/div/td tddiv alignleft[a hrefadmin_chk.asp?preengage_id% rs_preengage(preengage_id) %确认预约/a][a hrefchkcancel.asp?preengage_id% rs_preengage(preengage_id) %删除/a]/div/td /tr % rs_preengage.movenext wend % tr td colspan6nbsp;/td /tr tr td colspan6nbsp;/td /tr /table % Else 已提交preengage_id数据开始更新预约表preengage的paid字段--------- sql select * from preengage where preengage_id preengage_id rs_preengage.open sql,hotel_conn,3,2 rs_preengage(paid)1 rs_preengage.update datetime rs_preengage(pyear) - rs_preengage(pmonth) - rs_preengage(pday) datetimedatetime rs_preengage(beginhour) :00- (rs_preengage(beginhour)1) :00 % br table width488 border0 classtable_small tr tdnbsp;/td /tr tr td classtext_titlediv alignleft预约确认成功/div/td /tr tr td classtable_titlenbsp;/td /tr tr td classtextdiv alignleft成功确认ID为% rs_preengage(preengage_id) %的预约它是在% datetime %的预约费用为% rs_preengage(cost) %元/div/td /tr tr tdnbsp;/td /tr /table % End If % 删除预约页面 图21所示是删除页面成功的提示信息。该功能的实现是由文件chkcancel.asp完成的在用户面取消预约模块中还会看到该文件的出现它们的实现都是由该文件完成的。详细代码见程序清单18 程序清单18 删除和取消预约功能的实现chkcancel.asp % dim preengage_id,rs_cancel,rs_del,delok preengage_idrequest(preengage_id) if preengage_id then response.Redirect(error.asp) response.End() end if if session(user_name) and session(admin_name) then response.Redirect(error.asp) response.End() end if set rs_cancelserver.CreateObject(adodb.recordset) sql select *  from preengage where preengage_id preengage_id if session(user_name) then sql sql and user_name session(user_name) end if rs_cancel.open sql,hotel_conn,3,2 if rs_cancel.eof or rs_cancel.bof then response.Redirect(error.asp) response.End() end if if datediff(h,now,rs_cancel(pyear) - rs_cancel(pmonth) - rs_cancel(pday) rs_cancel(beginhour) :00:00) 24 then rs_cancel.close set rs_delserver.CreateObject(adodb.recordset) sql delete from preengage where preengage_id preengage_id rs_del.open sql,hotel_conn,3,2 delok1 else delok0 end if % 6.统计模块 统计模块的功能分为用户统计和预约统计两部分主要是方便管理员对该酒店运行合理管理。这些功能的实现都是由文件admin_total.asp完成的请参考程序清单19 程序清单19  统计功能实现核心代码admin_total.asp % set rs_preengageserver.CreateObject(adodb.recordset) sql select count(*) as total from preengage rs_preengage.open sql,hotel_conn,3,2 preengage_totalrs_preengage(total) rs_preengage.close sql select count(*) as total from preengage where paid 1 rs_preengage.open sql,hotel_conn,3,2 preengage_paidrs_preengage(total) rs_preengage.close preengage_notpaid preengage_total - preengage_paid sql select sum(cost) as total from preengage  where paid 1 rs_preengage.open sql,hotel_conn,3,2 money rs_preengage(total) rs_preengage.close sql select sum(cost) as total from preengage  where paid 0 rs_preengage.open sql,hotel_conn,3,2 notmoney rs_preengage(total) rs_preengage.close Set rs_user Server.CreateObject(ADODB.Recordset) sql select count(*) as male from user_reg where sex 男 rs_user.Open sql,hotel_conn,3,2 rs_user_male rs_user(male) rs_user.close sql select count(*) as female from user_reg where sex 女 rs_user.Open sql,hotel_conn,3,2 rs_user_female rs_user(female) rs_user.close rs_user_total rs_user_male rs_user_female % 用户统计实现了统计用户总数和计算男女用户比例的功能其界面如图22所示。预约统计实现了对预约总数、已付款预约数、实际收入和未付清预约款的统计功能如图23所示。 图5-22 预约统计 图23 用户统计 7.1  用户功能模块 用户功能模块主要包括用户登录、用户注册、发表留言、浏览房间信息、查看房间信息、预约房间、取消预约等功能。 1.首页设计 图24所示用户进入网站看到的界面包括了简单的房间统计及用户登录系统等功能。 图24  网站首页 程序清单20所示是首页实现的核心代码即文件index.asp % dim rs_user,room dim rs_user_total,room_total Set rs_user Server.CreateObject(ADODB.Recordset) sql SELECT user_name FROM user_reg rs_user.Open sql,hotel_conn,3,2 Set room Server.CreateObject(ADODB.Recordset) sql SELECT room_id FROM room room.Open sql,hotel_conn,3,2 If (rs_user.RecordCount -1) Then rs_user_total0 rs_user.movefirst While (Not rs_user.EOF) rs_user_total rs_user_total 1 rs_user.MoveNext Wend else rs_user_total rs_user.RecordCount End If If (room.RecordCount -1) Then room_total0 room.movefirst While (Not room.EOF) room_total room_total 1 room.MoveNext Wend else room_total room.RecordCount End If % % If (room_total -1) Then room_total0 While (Not room.EOF) room_total room_total 1 room.MoveNext Wend If (room.CursorType 0) Then room.MoveFirst Else room.Requery End If If (room_numRows 0 Or room_numRows room_total) Then room_numRows room_total End If room_first 1 room_last room_first room_numRows - 1 If (room_first room_total) Then roomd_first room_total End If If (room_last room_total) Then room_last room_total End If End If % % if not isempty(session(user_name)) then set rs_user_nameserver.CreateObject(adodb.recordset) sqlselect * from user_reg where user_name session(user_name) rs_user_name.open sql,hotel_conn,3,1 response.Write(欢迎您session(user_name) nbsp;br) end if % % set rs_user_name Nothing rs_user.Close() Set rs_user Nothing room.Close() Set room Nothing % 2.注册登录模块 该模块分为注册和登录两个功能模块。 注册模块 图25所示用户注册页面是由文件reg.asp来实现的。他不需要连接数据库主要功能是收集信息并传递给reg2.asp文件进行数据有效性验证。 图25 用户注册页面 程序清单21 生成年、月、日序列reg.asp部分代码 !-- 生成年 -- select namebyear classselect_filed idbyear tabindex7 %for i1940 to year(date)-3% option value%i%%i%/option %next% /select年 !-- 生成月 -- select namebmonth classselect_filed idbmonth tabindex8 %for i1 to 12% option value%i%%i%/option %next% /select月 !-- 生成日 -- select namebday classselect_filed idbday tabindex9 %for i1 to 31% option value%i%%i%/option %next% /select日/div/td 文件reg.asp接收到的信息传递给reg2.asp文件进行验证其实现代码见程序清单22所示 % dim err(9) dim name,psw,psw2,sex,byear,bmonth,bday,tel,email dim rs_test_name,rs_user namerequest(name) pswrequest(psw) psw2request(psw2) sexrequest(sex) byearrequest(byear) bmonthrequest(bmonth) bdayrequest(bday) telrequest(tel) emailrequest(email) if  is_name(name) then set rs_test_nameserver.CreateObject(adodb.recordset) sql select * from user_reg where user_name name rs_test_name.open sql,hotel_conn,3,2 if not(rs_test_name.eof or rs_test_name.bof) then err(2)这个用户名已经存在 else err(1)用户名只能使用字母、数字和下划线 end if if len(name)12 then err(3)用户名不能超过12个字符 if len(name)4 then err(3)用户名不能少于4个字符 if psw psw2 then err(4)两次输入的密码不一致 if len(psw)16 then err(5)密码不能超过16位 if len(psw)4 then err(5)密码不能少于4位 if len(tel)15 then err(6)电话号码不能超过15个字符 if len(tel)7 then err(6)电话号码不能少于7个字符 if len(email)50 then err(7)Email最多只能有50个字符 if not is_email(email) then err(8)Email地址错误 if not(isdate(byear - bmonth - bday)) then err(9)生日您没有选择或生日日期无效 for i1 to 9 if err(i) then haveerryes next % % set rs_userserver.CreateObject(adodb.recordset) rs_user.open select * from user_reg,hotel_conn,3,2 rs_user_total(rs_user.RecordCount)1 If (rs_user.RecordCount -1) Then rs_user_total0 While (Not rs_user.EOF) rs_user_total rs_user_total 1 rs_user.MoveNext Wend end if rs_user.addnew rs_user(user_name)name rs_user(psw)psw rs_user(sex)sex rs_user(age)datediff(yyyy,byear - bmonth - bday,date) rs_user(email)email rs_user(tel)tel rs_user(byear)byear rs_user(bmonth)bmonth rs_user(bday)bday rs_user.update session(user_name) name % 登录模块 登录模块主要是由文件login.asp来实现的。其登录核心代码见程序清单23.通过user_id和psw接收用户在首页填写的用户和密码并打开数据库在user_reg用户信息表中查询如果找到了相应的记录则将用户名写入session(“user_name”),并给变量haverr赋值为0作为显示正确登录的标识。 程序清单23 用户登录验证login.asp部分代码 % user_idrequest.Form(user_name) pswrequest.Form(psw) set rs_userserver.CreateObject(adodb.recordset) sqlselect * from user_reg where user_name user_id  and psw psw rs_user.open sql,hotel_conn,3,2 if not(rs_user.eof or rs_user.bof) then session(user_name)rs_user(user_name) haveerr0 else haveerr1 end if % 3.查看房间模块 查看房间信息是酒店应该提供一个必要功能。图26所示是查看房间页面的示意图从图中可以看出在该页面显示了房间名称、房间类型、费用和预约操作。 图26 查看房价 在查看房间页面room.asp中首先要打开房间信息表room来获取信息然后通过循环来逐条列出房间信息见程序清单24 见程序清单24 显示房间信息核心代码room.asp % set rs_roomserver.CreateObject(adodb.recordset) sql select * from room rs_room.open sql,hotel_conn,3,2 rs_room.movefirst while (not rs_room.eof or rs_room.bof) % tr td classtextdiv alignleft% rs_room(room_id) %/div/td td classtextdiv alignleft% rs_room(name) %/div/td td classtextdiv alignleft% rs_room(type) %/div/td td classtextdiv alignleft% rs_room(cost) %/div/td td classtextdiv alignleft a hrefpreengage.asp?room_id% rs_room(room_id) %我要预约/a /div/td /tr % rs_room.movenext wend % 4.查询房间模块 当房间信息过多的时候用户为了快速获得满足自己要求的房间就比较麻烦。本系统设计了查询功能方便用户输入条件获得需求房间。图27所示为了一个简单查询结果的页面。实现代码见程序清单25 图27 查询房间 程序清单25 查询功能实现代码search.asp % set_roomrequest.Form(set_room) set_costrequest.Form(set_cost) % form nameform1 methodpost action table width533 border0 classtable_small tr td colspan2nbsp;/td /tr tr td colspan2 classtext_titlediv alignleft请给出查询条件/div/td /tr tr td colspan2 classtable_titlenbsp;/td /tr tr td colspan2 classtextdiv alignleft p查看所有费用上限 select nameset_cost classselect_filed2 idset_cost option selected不作要求/option option50元/option option200元/option option400元/option option600元/option option600元以上/option /select 的 select nameset_room classselect_filed2 idset_room option selected所有/option option 总统套房/option option观光二人间/option option标准间/option option普通二人间/option option单人间/option option普通四人间/option option其他/option /select 房间/p /div/td /tr tr td width341 classtextnbsp;/td td width121 classtextdiv aligncenter input namesearch typesubmit classbutton_ idsearch value查询 /div/td /tr /table /form % if set_room and set_cost then response.End() else % % set rs_searchserver.CreateObject(adodb.recordset) sql select * from room 如果输入查询条件构造where结构----------- if not (set_cost 不作要求 and set_room 所有 )then sql sql where end if if set_room 所有 then sql sql type set_room end if if set_cost 不作要求 and set_room 所有 then sql sql and end if if set_cost 50元 then sql sql cost 50 elseif set_cost 200元 then sql sql cost 200 elseif set_cost 400元 then sql sql cost 400 elseif set_cost 600元 then sql sql cost 600 elseif set_cost 600元以上 then sql sql cost 600 end if response.Write(sql) 打开房间数据库--------------- rs_search.open sql,hotel_conn,3,2 if rs_search.eof or rs_search.bof then searchok0 else searchok1 end if % table width533 border0 classtable_small tr td colspan4nbsp;/td /tr tr td colspan4 classtext_titlediv alignleft查询结果 % if searchok1 then response.Write(查看所有开放于 set_time 的 set_room 房间,费用上限 set_cost) end if % /div/td /tr tr td colspan4 classtable_titlenbsp;/td /tr % If searchok0 Then % tr td colspan4 classtext_errordiv alignleft●没有找到符合要求的房间/div/td                 /tr % Else % tr classtext_title td width145div alignleft房间名称/div/td td width112div alignleft房间类型/a/div/td td width136div alignleft费用元/小时/div/td td width118div alignleft使用时间/div/td /tr % rs_search.movefirst while (not rs_search.eof) % tr classtext % urltextpreengage.asp?room_id rs_search(room_id) % tddiv alignlefta href% urltext %% rs_search(name) %/a/div/td tddiv alignleft% rs_search(type) %/div/td tddiv alignleft% rs_search(cost) %/div/td tddiv alignleft24小时/div/td /tr % rs_search.movenext Wend % 5预约房间和取消预约模块 预约是本系统的核心所在该模块接收用户提交的房间编号和预约时间并判断房间在指定时间内是否空闲最后给出用户预约结果如果预约成功则要将信息写入数据库。 图28所示是预约房间界面图29显示房间预约成功 图28  预约房间 图29  预约成功界面 由preengage.asp文件获取的表单信息给chkpre.asp文件处理。本系统要求用户提出预约时刻要比开始使用时间提前24小时因此首先由chkpre.asp判断用户提交的时刻是否符合要求然后查询数据库中该房间在这个时间是否空闲最后给出预约成功的提示并将预约信息写入数据库代码见程序清单26 % dim room_id,pyear,pmonth,pday,ptime,chkok,err dim rs_preengage,rs_room,rs_save room_idrequest.Form(room_id) pyearrequest.Form(pyear)  pmonthrequest.Form(pmonth) pdayrequest.Form(pday) ptimerequest.Form(ptime) % % if not isdate(pyear - pmonth - pday) then err1 end if if err1 then               % % title出现错误/title % % set rs_preengageserver.CreateObject(adodb.recordset) sql select * from preengage where room_id room_id and beginhour ptime sql sql and pyear pyear and pmonth pmonth and pday pday rs_preengage.open sql,hotel_conn,3,2 if rs_preengage.eof or rs_preengage.bof then chkok1 else chkok0 end if if chkok1 then set rs_saveserver.CreateObject(adodb.recordset) sql select * from preengage rs_save.open sql,hotel_conn,3,2 set rs_roomserver.CreateObject(adodb.recordset) sql select * from room where room_id room_id rs_room.open sql,hotel_conn,3,2                        rs_save.addnew rs_save(user_name)session(user_name) rs_save(room_id)room_id rs_save(datetime)now() rs_save(cost)rs_room(cost) rs_save(pyear)pyear rs_save(pmonth)pmonth rs_save(pday)pday rs_save(beginhour)ptime rs_save.update rs_save.movelast % % title预约成功/title % % title预约未被接受/title % 取消预约模块的实现和管理端删除模块使用一个文件这里就不再详细论述。 6.查看预约模块 用户在预约房间后会有查询预约情况的需求查询页面主要由文件mine.asp实现如图30所示。程序清单27是查看预约信息的核心代码。 图30 查看预约 程序清单27 查看预约的关键代码 % dim rs_preengage,rs_ground dim time_out set rs_preengageserver.CreateObject(adodb.recordset) sql select * from preengage where user_name session(user_name) rs_preengage.open sql,hotel_conn,3,2 % body div aligncenter table width706 height281 border0 classtable_big tr td valigntopdiv aligncenter !--#include fileinclude/head.asp -- br table width605 border0 classtable_small tr td colspan7nbsp;/td /tr tr td colspan7 classtext_titlediv alignleft我的预约信息/div/td /tr tr td colspan7 classtable_titlenbsp;/td /tr % If rs_preengage.eof or rs_preengage.bof Then % tr td colspan7 classtextdiv alignleft您还没有进行任何预约/div/td /tr % Else %               tr classtext td width105div alignleft房间名称/div/td td width68div alignleft房间类型/div/td td width50div alignleft费用/div/td td width69div alignleft预约日期/div/td td width86div alignleft预约时间/div/td td width117div alignleft状态/div/td td width80操作/td /tr % rs_preengage.movefirst while (not rs_preengage.eof) set rs_roomserver.CreateObject(adodb.recordset) sql select * from room where room_id rs_preengage(room_id) rs_room.open sql,hotel_conn,3,2 % tr classtext tddiv alignleft% rs_room(name) %/div/td tddiv alignleft% rs_room(type) %/div/td tddiv alignleft% rs_room(cost) %/div/td tddiv alignleft% rs_preengage(pyear)-rs_preengage(pmonth)-rs_preengage(pday) %/div/td tddiv alignleft% rs_preengage(beginhour):00-(rs_preengage(beginhour)1):00 %/div/td tddiv alignleft % If rs_preengage(paid)1 Then response.Write(已经付款   ) else response.Write(尚未付款   ) end if time_outdatediff(d,now,rs_preengage(pyear) - rs_preengage(pmonth) - rs_preengage(pday) rs_preengage(beginhour) :00:00) if  time_out 0 then response.Write(已经过期) else response.Write(尚未到期) end if % /div/td td % if rs_preengage(paid)0 and time_out 0then % a hrefcancel.asp?preengage_id% rs_preengage(preengage_id) %取消预约/a % end if %                  /td /tr % rs_preengage.movenext wend % % End If % 7.留言模块 留言模块是给用户发表意见和看法的场所。图31所示为发表留言界面。程序清单28是留言功能实现的代码主要部分。 图31 发表留言界面 程序清单28 留言功能实现部分代码lword.asp % dim title,word,check,lword titlerequest.Form(title) wordrequest.Form(word) if title and word then lword1 else check if title then check●没有输入留言标题br if word then checkcheck ●没有输入留言内容br if len(title) 50 then checkcheck ●标题超过50个字符br if len(word) 250 then checkcheck ●留言超过250个字符br end if % body div aligncenter table width706 height281 border0 classtable_big tr td valigntopdiv aligncenter !--#include fileinclude/head.asp -- % If lword1 Then % br form nameform1 methodpost action table width532 border0 classtable_small tr td colspan4nbsp;/td /tr tr td colspan4 classtext_titlediv alignleft站长留言/div/td /tr tr td colspan4 classtable_titlenbsp;/td /tr tr classtext td width40 classtextdiv alignleft标题                /div/td td colspan3 classtextdiv alignleft input nametitle typetext classtextfield idtitle /div/td /tr tr classtext td valigntop classtextdiv alignleft内容                  /div/td td colspan3 valigntopdiv alignleft textarea nameword classtextfield2 idword/textarea /div/td /tr tr td colspan4 valigntopnbsp;/td /tr tr tdnbsp;/td td width58nbsp;/td td width51input namelword typesubmit classbutton_ idlword value留言/td td width361div alignleft input namereset typereset classbutton_ idreset value清空 /div/td /tr tr td colspan4nbsp;/td /tr /table /form % Else % % If check Then % br table width480 border0 classtable_small tr tdnbsp;/td /tr tr td classtext_title div alignleft留言错误/div/td /tr tr td classtable_titlenbsp;/td /tr tr td classtext_errordiv alignleft% check %/div/td /tr tr td classtextdiv aligncenter[a hreflword.asp返回留言页面/a]/div/td /tr tr td classtext_errornbsp;/td /tr /table % Else % % set rs_wordserver.CreateObject(adodb.recordset) sqlselect * from word where user_name session(user_name) rs_word.open sql,hotel_conn,3,2 numrs_word.recordcount rs_word.close sqlselect * from word rs_word.open sql,hotel_conn,3,2 rs_word.addnew rs_word(user_name)session(user_name) rs_word(datetime)now() rs_word(title)title rs_word(word)word rs_word.update rs_word.close % br table width480 border0 classtable_small tr tdnbsp;/td /tr tr td classtext_titlediv alignleft留言成功/div/td /tr tr td classtable_titlenbsp;/td /tr tr td classtextdiv alignleft% 您给站长的留言一共有 (num1) 条 %nbsp;/div/td /tr tr td classtextdiv aligncenter[a hrefindex.asp classtext返回首页/a]/div/td /tr tr tdnbsp;/td /tr /table % End If % % End If %
http://www.pierceye.com/news/700807/

相关文章:

  • 黄页营销网站南京哪些公司做网站
  • 俄语网站推广工程公司名称大全
  • 怎么知道网站是php什么是网站推广?
  • 温州在线课堂番禺网站建设优化
  • php怎么做网站快大都会app下载最新版本
  • 麻城网站建设公司网络推广公司挣钱吗
  • t型布局网站的样子自己做的网站如何上传
  • 排版设计模板网站百度搜索下载安装
  • 网站页面建设需要ps吗网站建设结单 优帮云
  • 网站建设对我有什么好处网站首页被k 做跳转
  • 美辰网站建设网站建设公司转型做什
  • 创意网站界面怎么查注册公司的名字可不可以用
  • 微友说是做网站维护让帮忙投注中小企业经营管理培训班
  • 网站开发宣传标语虚拟币挖矿网站开发
  • wordpress是否免费网站移动端seo
  • 加盟网站建设服务极简风格 wordpress
  • phpcms v9 网站模板seo优化的技巧
  • 域名备案网站要不要关7k7k网页游戏
  • 虚拟主机发布网站吗汕头建站平台
  • wap站是什么意思啊阿里云建设网站的步骤
  • 网站备案 异地可以做视频的网站
  • 淘宝网站c 设计怎么做安卓手机做网站
  • 嘉兴做网站建设的公司电商网名大全
  • 欢迎访问中国建设银行网站密码重置wordpress wp_parse_args
  • 普通电脑可以做网站服务器吗找人做网站需要什么条件
  • 长沙公司网站的建设网站图片尺寸
  • 高端网站定制费用是多少php网站建设制作
  • 广州营销型网站建设费用wordpress最新版下载
  • 洛阳网站设计公司xiamiplayer for wordpress
  • 做网站模版形象墙logo墙设计图