1 / 188

第10章 ASP 应用程序

第10章 ASP 应用程序. 10.1 在不同时段显示不同的页面内容 10.2 搜索引擎的使用 10.3 进行注册登记 10.4 将数据库的内容分页显示 10.5 选择数据库表中的数据 10.6 欢乐聊天室. 10.7 一个简单的留言簿 10.8 题库的输入、搜索和修改程序 10.9 进行投票统计的程序 习题. 10.1 在不同时段显示不同的页面内容. [例10-1]建立一个自动监测浏览时间、并根据不同时段动态显示不同页面内容的 ASP 程序。该程序的文件名为10|1. asp。

adila
Download Presentation

第10章 ASP 应用程序

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第10章 ASP应用程序 10.1 在不同时段显示不同的页面内容 10.2 搜索引擎的使用 10.3 进行注册登记 10.4 将数据库的内容分页显示 10.5 选择数据库表中的数据 10.6 欢乐聊天室

  2. 10.7一个简单的留言簿 10.8题库的输入、搜索和修改程序 10.9进行投票统计的程序 习题

  3. 10.1 在不同时段显示不同的页面内容 [例10-1]建立一个自动监测浏览时间、并根据不同时段动态显示不同页面内容的 ASP 程序。该程序的文件名为10\|1.asp。 <%@ Language=″VBScript″ %> <html> <body bgColor=Plum> <font color=″Green″> <% if time <#12:00:00# and Time>= #06:00:00# then %> 早上好,很高兴见到你!

  4. <img src=″花2.gif ″ width=″120″ height=″90″> <% elseif Time < #15:00:00# and Time >= #12:00:00# then %> 中午好,很高兴见到你! <img src=″人.gif ″ width=″120″ height=″89″> <% elseif Time < #19:00:00# and Time >= #15:00:00# then %> 下午好,很高兴见到你! <img src=″动物.gif ″ width=″120″ height=″90″> <% elseif Time < #23:00:00# and Time >= #19:00:00# then %> 晚上好,很高兴见到你! <img src=″4.gif ″ width=″120″ height=″90″>

  5. <% else %> 太晚了,你该休息啦! <img src=″2.gif ″ width=″123″ height=″86″> <% end if %> </body> </html> • 10.1.asp执行的结果如图10.1所示。

  6. 图10.1

  7. 10.2 搜索引擎的使用 [例10-2]建立一个利用其他搜索引擎进行搜索的ASP程序。该程序的文件名为10\|2.asp。 <%@ Language=VBScript %> <% dim strKey if Request.Form(″CmdSearch″) = ″开始搜索″ then strKey = Request.Form(″TxtKey″) if strKey <> ″″ then

  8. select case Request.Form(″CboEngine″) case ″163″ Response.Redirect ″http://search.163.com/cgibin/search/engine/search.fcgi?key=″ & strKey case ″yahoo″ Response.Redirect ″http://search.chinese.yahoo.com/search/gb?p=″ & strKey & ″&u=B″ case ″sohu″ Response.Redirect http://search.sohu.com/cgibin/searchbaidu.p?tn=sohu&si=gi&work=″ & strKey & ″&ct=0&cl=2&lm=0″

  9. case ″sina″ Response.Redirect ″http://search.sina.com.cn/cgibin/search/search.cgi?searchkey=″ & strKey case ″263″ Response.Redirect ″http://search.263.net/cgibin/tsearch?func=3&p=″ & strKey case ″cseek″ Response.Redirect ″http://www.cseek.com/cgi/srchengine.cgi?searchkey=″ & strKey case ″gdcatv″

  10. Response.Redirect ″http://www.gdcatv.com.cn:4000/intra/owa/navigator.naviquery?pagenumber=1&button=a&text1=″ & strKey case ″EXCITE″ Response.Redirect ″http://www.excite.com/search.gw?look=default&c=web&trace=b&search=″ & strKey end select else Response.Write ″请先输入要搜索的关键字″ end if end if %>

  11. <html> <head> <meta name=″generator″ content=″Microsoft Visual Studio 6.0″> <title>Internet 信息检索</title> </head> <body bgcolor=linen> <p align=center><font face=宋体 size=5><strong>搜索引擎 </strong></font></p> <form action=SearchEngine.asp method=post name=FormSearch> <p align=center>要搜索的关键字&nbsp;

  12. <input id=TxtKey name=TxtKey style=″HEIGHT: 22px; WIDTH: 167px″> </p> <p align=center>请选择搜索引擎&nbsp; <select id=CboEngine name=CboEngine style=″HEIGHT: 22px; WIDTH: 167px″> <option value=″Title″ selected>=== 选择搜索引擎 ===</option> <option value=″163″>网易163搜索</option> <option value=″yahoo″>中文雅虎搜索</option> <option value=″sohu″>搜狐搜索</option> <option value=″sina″>新浪搜索</option> <option value=″263″>首都在线263搜索</option>

  13. <option value=″cseek″>搜索客</option> <option value=″gdcatv″>视讯中文搜索</option> <option value=″excite″>EXCITE</option> </select> </p> <p align=center><font face=宋体><input name=CmdSearch type=submit value=″ 开始搜索″></p></font> </form> </body> </html> • 10.2.asp执行的结果如图10.2所示。

  14. 图10.2

  15. 这个程序可以使用户在页面上输入搜索的关键字,如“电脑硬件”,然后在“选择搜索引擎”下拉菜单中选择一个搜索引擎,最后单击“开始搜索”按钮,将上网进行搜索,如图10.3所示是选择“新浪搜索”搜索到的“电脑硬件”信息的页面。这个程序可以使用户在页面上输入搜索的关键字,如“电脑硬件”,然后在“选择搜索引擎”下拉菜单中选择一个搜索引擎,最后单击“开始搜索”按钮,将上网进行搜索,如图10.3所示是选择“新浪搜索”搜索到的“电脑硬件”信息的页面。 • 这个程序分为两大部分,上面是ASP的语句,主要是建立与搜索引擎的链接以及搜索的方式,下面是HTML语句,主要是建立进行搜索的页面。

  16. 图10.3

  17. 10.3 进行注册登记 • 为了编写程序的方便,以下的例子中使用英文名字作为程序的名字。进行注册登记的应用程序由五个文件组成: LogRegist.asp新用户注册文件 、LogCheck.asp用户登录文件、SysMain.asp进入站点的主页面文件、数据库表文件Tbl StudentInfo和包含文件ADOVBS.INC。 • [例10-3]这是一个包含文件,文件名为ADOVBS.INC,主要定义了应用程序中使用的变量,当哪个页面需要使用变量时即可插入该文件,这个文件就包含了很多变量的定义语句,其中大部分变量与这里的应用程序无关。这里只是为了说明包含文件的具体使用方法,可以不使用包含文件而直接在应用程序中定义变量。

  18. <% Const adOpenForwardOnly = 0 Const adOpenKeyset = 1 Const adOpenDynamic = 2 Const adOpenStatic = 3 ′——CursorOptionEnum Values  Const adHoldRecords = &H00000100 Const adMovePrevious = &H00000200 Const adAddNew = &H01000400 Const adDelete = &H01000800 Const adUpdate = &H01008000 Const adBookmark = &H00002000 Const adApproxPosition = &H00004000

  19. Const adUpdateBatch = &H00010000 Const adResync = &H00020000 Const adNotify = &H00040000 ′——LockTypeEnum Values  Const adLockReadOnly = 1 Const adLockPessimistic = 2 Const adLockOptimistic = 3 Const adLockBatchOptimistic = 4 ′——ExecuteOptionEnum Values  Const adRunAsync = &H00000010 ′——ObjectStateEnum Values  Const adStateClosed = &H00000000

  20. Const adStateOpen = &H00000001 Const adStateConnecting = &H00000002 Const adStateExecuting = &H00000004 ′——CursorLocationEnum Values  Const adUseServer = 2 Const adUseClient = 3 ′——DataTypeEnum Values  Const adEmpty = 0 Const adTinyInt = 16 Const adSmallInt = 2 Const adInteger = 3 Const adBigInt = 20

  21. Const adUnsignedTinyInt = 17 Const adUnsignedSmallInt = 18 Const adUnsignedInt = 19 Const adUnsignedBigInt = 21 Const adSingle = 4 Const adDouble = 5 Const adCurrency = 6 Const adDecimal = 14 Const adNumeric = 131 Const adBoolean = 11 Const adError = 10 Const adUserDefined = 132 Const adVariant = 12

  22. Const adIDispatch = 9 Const adIUnknown = 13 Const adGUID = 72 Const adDate = 7 Const adDBDate = 133 Const adDBTime = 134 Const adDBTimeStamp = 135 Const adBSTR = 8 Const adChar = 129 Const adVarChar = 200 Const adLongVarChar = 201 Const adWChar = 130

  23. Const adVarWChar = 202 Const adLongVarWChar = 203 Const adBinary = 128 Const adVarBinary = 204 Const adLongVarBinary = 205 ′——EditModeEnum Values  Const adEditNone = &H0000 Const adEditInProgress = &H0001 Const adEditAdd = &H0002 Const adEditDelete = &H0004 ′——SearchDirection Values  Const adSearchForward = 1

  24. Const adSearchBackward = 1 ′——ConnectPromptEnum Values  Const adPromptAlways = 1 Const adPromptComplete = 2 Const adPromptCompleteRequired = 3 Const adPromptNever = 4 %> [例10-4]新用户进行注册程序,文件名为LogRegist.asp。 <%@ Language=VBScript %> <!-- #INCLUDE FILE=″ADOVBS.INC ″ -- > <%

  25. dim lStrSQL, lRecItem, lStrDbConnStr dim lErrNo, lErrMes dim lStrCode, lIsMod, lStudentId dim lStudent(6, 0) dim iii lStrDbConnStr = ″DSN=log″ set lRecItem = Server.CreateObject(″ADODB.RecordSet″) lErrNo = 0 if Request.Form(″CmdClose″) = ″返回″ then Response.Redirect ″LogCheck.asp″ end if

  26. select case Request.Form(″CmdReg″) case ″退出″ Response.Redirect ″LogCheck.asp″ case ″确认″ if Request.Form(″txtStId″)=″ ″ - Or Request.Form(″txtStname″)=″ ″ - Or Request.Form(″txtStPws″)=″ ″ - Or Request.Form(″txtStPws2″)=″ ″ then lErrNo = 14 else if Request.Form(″txtStPws″) <> Request.Form(″txtStPws2″) then lErrNo = 15

  27. end if end if lStudent(0,0) = Request.Form(″TxtStId″) lStudent(1,0) = UCase(Request.Form(″TxtStname″)) lStudent(2,0) = Request.Form(″TxtStCI″) lStudent(5,0) = Request.Form(″TxtStPws″) lStudent(3,0) = Request.Form(″TxtStUnit″) lStudent(4,0) = Request.Form(″TxtStContact″) lStudent(6,0) = Request.Form(″TxtStPhone″) lIsMod = Request.Form(″TxtMod″) if lErrNo = 0 then lErrNo = 20

  28. lStrSQL = ″Select * From TblStudentInfo″ & ″ Where StudentId=′″ & lStudent(0,0) & ″′;″ lRecItem.Open lStrSQL, lStrDbConnStr,adOpenDynamic,adLockOptimistic if lRecItem.EOF Or lRecItem.BOF then lRecItem.AddNew else if lIsMod = ″False″ then lErrNo = 13 ′记录已经存在 end if end if

  29. if LErrNo = 20 then lRecItem.Fields(″StudentId″) = lStudent(0,0) lRecItem.Fields(″Studentname″) = lStudent(1,0) lRecItem.Fields(″StudentCI″) = lStudent(2,0) lRecItem.Fields(″StudentPwd″) = lStudent(5,0) lRecItem.Fields(″StudentUnit″) = lStudent(3,0) lRecItem.Fields(″Contact″) = lStudent(4,0) lRecItem.Fields(″Telephone″) = lStudent(6,0) lRecItem.Update end if lRecItem.Close end if

  30. case else lStudentId = ″ ″ lIsMod = ″True″ end select set lRecItem = Nothing select case lErrNo case 20 lErrMes = ″您已经成功注册!″ case 13 lErrMes = ″该考号已经存在,请与系统管理员联系!″ case 14

  31. lErrMes = ″账号、用户姓名及两次口令输入中不能有空值″ case 15 lErrMes = ″两次输入的口令不同″ case else ErrMes = ″ ″ end select %> <html> <head> <meta name=VI60defaultClientScript content=VBScript>

  32. <meta name=″generator″ Content=″Microsoft Visual Studio 6.0 ″> <title>新用户注册</title> </head> <body bgColor=silver> <p align=center> <font color=navy face=宋体 size=4><%=lErrMes%></font></p> <% if lErrNo <> 20 then %> <p align=center><strong></strong></p> <p align=center> <font color=#000080 face=宋体 size=6> <strong>新用户注册</strong></font></p>

  33. <table align=center border=1 cellPadding=1 cellSpacing=1> <form action=″LogRegist.asp″ id=FormReg method=post name=FormReg> <tr> <td>账号</td> <td> <input id=TxtStID name=TxtStID maxlength=15 value=″<%=lStudent(0,0)%>″> </td></tr> <tr> <td>姓名</td> <td>

  34. <td> <input id=TxtStname name=TxtStname maxlength=20 value=″<%=lStudent(1,0)%>″> </td></tr> <tr> <td>身份证号</td> <td> <input id=TxtStCI name=TxtStCI maxlength=15 value=″<%=lStudent(2,0)%>″> </td></tr> <tr> <td>单位</td> <td><input id=TxtStCI name=TxtStUnit value=″<%=lStudent(3,0)%>″>

  35. </td></tr> <tr> <td>联系方式</td> <td><input id=TxtStContact name=TxtStContact value=″<%=lStudent(4,0)%>″> </td></tr> <tr> <td>电话</td> <td> <input id=TxtStPhone name=TxtStPhone value=″<%=lStudent(6,0)%>″> </td></tr> <tr>

  36. <td>口令</td> <td><input id=TxtStPws name=TxtStPws type=password maxlength=10> </td></tr> <tr> <td>口令确认</td> <td> <input id=TxtStPws2 name=TxtStPws2 type=password maxlength=10> </td></tr> <tr> <td align=middle colSpan=2> <font face=宋体 size=3>

  37. <input accessKey=″<Enter>″ id=CmdOk name=CmdReg style=″height: 24px; width: 70px″ type=submit value=″确认″ width=″70″> &nbsp;&nbsp;&nbsp; <input id=CmdExit name=CmdReg style=″height: 24px; width: 70px″ type=submit value=″退出″ width=″70″> </font></td></tr> </table> <input id=TxtMod name=TxtMod style=″height: 22px; visibility: hidden; width: 50px″

  38. value=″<%=lIsMod%>″> </form> <%else %> <form action=″LogRegist.asp″ method=POST id=FormClose name=FormClose> <p align=center> <input type=″submit″ value=″返回″ id=CmdClose name=CmdClose> </p> </form> <%end if %> </body> </html>

  39. 在浏览器地址栏中输入“http://zhc/slp/LogRegist.asp”,按回车键后,可看到如图10.4所示页面,在这里填写你的“账号”、“姓名”、“口令”,并且要在“口令确认”栏再次填写你的口令,最后单击“确认”按钮,如果你填写的内容满足以上要求,可看到成功注册的页面,如图10.5所示,否则会让你重新填写,并会提示你应该在什么地方填写,如图10.6所示。在浏览器地址栏中输入“http://zhc/slp/LogRegist.asp”,按回车键后,可看到如图10.4所示页面,在这里填写你的“账号”、“姓名”、“口令”,并且要在“口令确认”栏再次填写你的口令,最后单击“确认”按钮,如果你填写的内容满足以上要求,可看到成功注册的页面,如图10.5所示,否则会让你重新填写,并会提示你应该在什么地方填写,如图10.6所示。

  40. 图10.4

  41. 图10.5

  42. 图10.6

  43. [例10-5]这是用户进行登录的程序,文件名为LogCheck.asp。[例10-5]这是用户进行登录的程序,文件名为LogCheck.asp。 <%@ Language=VBScript %> <!-- #include file=″adovbs.inc″ -- > <% dim lStrSQL, lRecItem, lStrDbConnStr dim lUserId, lUserPws, lCmdFun dim lErrNo, lErrMes lCmdFun = Request.Form(″CmdFun″) lErrNo = 0 select case lCmdFun

  44. case ″ 登录 ″ lUserId = UCase(Request.Form(″TxtUserID″)) lUserPwd = Request.Form(″TxtUserPwd″) lStrDbConnStr = ″DSN=log″ Set lRecItem = Server.CreateObject(″ADODB.RecordSet″) lStrSQL = ″select * from TblStudentInfo where (StudentID=′″ & lUserId & ″′)″ lRecItem.Open LStrSQL, LStrDbConnStr, adOpenStatic if lRecItem.BOF or lRecItem.EOF then

  45. lErrNo = 1 ′′没有该用户,请与系统管理员联系注册 elseif lRecItem.Fields(″StudentPwd″) = lUserPwd then Session(″StudentID″) = lUserId Session(″Studentname″) = lRecItem.Fields(″Studentname″) else lErrNo = 2 ′′用户口令输入错误 end if lRecItem.Close set lRecItem = Nothing

  46. if lErrNo = 0 then Response.Redirect ″SysMain.asp″ end if case ″新用户注册″ Response.Redirect ″LogRegist.asp″ end select select case lErrNo case 1 lErrMes = ″没有该用户,请先注册″ case 2

  47. lErrMes = ″用户口令输入错误″ end select Response.Write ″<center><big>″ & lErrMes & ″</big></center>″ %> <html> <head> <meta name=″generator″ Content=″Microsoft Visual Studio 6.0″> <title>用户登录</title> </head> <body bgColor=silver>

  48. <form action=″LogCheck.asp″ method=POST id=FormLog name=FormLog> <p style=″fontFAMILY: 宋体″> <table align=center border=1 cellPadding=1 cellSpacing=1> <tr> <td align=middle> <p>&nbsp;</p> <p>用户账号<input id=TxtUserID name=TxtUserID></p> <p>用户口令 <input id=TxtUserPwd name=TxtUserPwd type=password></p> <p>&nbsp;</p></td></tr>

  49. <tr> <td align=middle> <input id=CmdLogin name=CmdFun type=submit value=″ 登录 ″> &nbsp;&nbsp; <input id=CmdRegist name=CmdFun type=submit value=″新用户注册″></td> </tr></table></p> </form> </body> </html>

  50. 当新用户注册成功后单击“返回”按钮可进入“用户登录”页面,如图10.7所示。一般情况下用户也是首先到这个页面,如果是第一次来这个站点要先进行注册,如果是注册过的老用户,可直接输入“账号”、“用户口令”,然后单击“登录”按钮,即可看到站点的主页了,如图10.8所示。当新用户注册成功后单击“返回”按钮可进入“用户登录”页面,如图10.7所示。一般情况下用户也是首先到这个页面,如果是第一次来这个站点要先进行注册,如果是注册过的老用户,可直接输入“账号”、“用户口令”,然后单击“登录”按钮,即可看到站点的主页了,如图10.8所示。

More Related