ASP动态网页设计第7章.docx

上传人:b****0 文档编号:17230425 上传时间:2023-07-23 格式:DOCX 页数:91 大小:40.36KB
下载 相关 举报
ASP动态网页设计第7章.docx_第1页
第1页 / 共91页
ASP动态网页设计第7章.docx_第2页
第2页 / 共91页
ASP动态网页设计第7章.docx_第3页
第3页 / 共91页
ASP动态网页设计第7章.docx_第4页
第4页 / 共91页
ASP动态网页设计第7章.docx_第5页
第5页 / 共91页
ASP动态网页设计第7章.docx_第6页
第6页 / 共91页
ASP动态网页设计第7章.docx_第7页
第7页 / 共91页
ASP动态网页设计第7章.docx_第8页
第8页 / 共91页
ASP动态网页设计第7章.docx_第9页
第9页 / 共91页
ASP动态网页设计第7章.docx_第10页
第10页 / 共91页
ASP动态网页设计第7章.docx_第11页
第11页 / 共91页
ASP动态网页设计第7章.docx_第12页
第12页 / 共91页
ASP动态网页设计第7章.docx_第13页
第13页 / 共91页
ASP动态网页设计第7章.docx_第14页
第14页 / 共91页
ASP动态网页设计第7章.docx_第15页
第15页 / 共91页
ASP动态网页设计第7章.docx_第16页
第16页 / 共91页
ASP动态网页设计第7章.docx_第17页
第17页 / 共91页
ASP动态网页设计第7章.docx_第18页
第18页 / 共91页
ASP动态网页设计第7章.docx_第19页
第19页 / 共91页
ASP动态网页设计第7章.docx_第20页
第20页 / 共91页
亲,该文档总共91页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

ASP动态网页设计第7章.docx

《ASP动态网页设计第7章.docx》由会员分享,可在线阅读,更多相关《ASP动态网页设计第7章.docx(91页珍藏版)》请在冰点文库上搜索。

ASP动态网页设计第7章.docx

ASP动态网页设计第7章

第7章设计实例

 

7.1.3查看主题

在forum.asp文件中实现查看讨论主题的功能。

该页面以分页形式显示当前已有的讨论主题,每页显示5个主题,每个主题以超链接形式显示,可以通过单击某个的主题来查看详细的讨论内容并发表意见,也可以通过单击页面下部的超链接在不同页面之间跳转,如图7.1所示。

如果检测到articles表中不包含任何记录,则显示“当前没有讨论主题!

”,此时可以通过单击页面上部的“发表新帖”链接进入发起主题的页面(newTheme.asp)。

------------forum.asp------------

<%@LANGUAGE="VBScript"%>

查看讨论主题

--#includevirtual="/adovbs.inc"-->

发表新帖】

<%

Dimcnn,rst,sSQL,currentPage,rowCount,i

currentPage=Request.QueryString("currentPage")

IfcurrentPage=""Then

currentPage=1

EndIf

Setcnn=Server.CreateObject("ADODB.Connection")

Setrst=Server.CreateObject("ADODB.Recordset")

cnn.ConnectionString="PROVIDER=SQLOLEDB;DATASOURCE=Abc;"&_

"UID=sa;PWD=123;DATABASE=test"

cnn.Open

Setrst=cnn.Execute("articles",,adCmdTable)

'若articles表为空,表示当前没有讨论主题

Ifrst.EOFThen

Response.Write"

当前没有讨论主题!

"

Response.End

EndIf

'关闭当前记录集

rst.Close

rst.CursorType=adOpenStatic

rst.PageSize=5

'将SQLSELECT语句存放到字符串中

'按照时间顺序排列记录,使后来发起的主题排在前面

sSQL="SELECT*FROMarticlesORDERBYissue_timeDESC"

'重新打开记录集

rst.OpensSQL,cnn

'设置当前页号

rst.AbsolutePage=CInt(currentPage)

rowCount=0

%>

作者IP地址主题

发表时间浏览次数回复次数

<%WhileNotrst.EOFAndrowCount

<%=rst("author")%>>

<%=rst("ip_addr")%>

id=<%=rst("art_id")%>'>

<%=rst("theme")%>

<%=rst("issue_time")%>

<%=rst("view_times")%>

<%=rst("reply_times")%>

<%

rowCount=rowCount+1

rst.MoveNext

Wend

%>

当前主题数<%=rst.RecordCount%> 

每页<%=rst.PageSize%>个主题 

当前页次:

<%=currentPage%>/<%=rst.PageCount%>页 

<%

Fori=1Torst.PageCount

'如果i等于当前页号,则以红色文本显示i的值

Ifi=CInt(currentPage)Then

%>

[<%=i%>]  

<%

'如果i不等于当前页号,则以超链接形式显示i的值

Else

%>

[

currentPage=<%=i%>"><%=i%>]  

<%

EndIf

Next

%>

7.1.4发表主题

文件newTheme.asp给出了发表讨论主题时所用到的表单,如图7.2所示。

在查看讨论主题页面(forum.asp)中单击“发表新帖”链接可以进入该页面。

访问者可以在这里输入作者姓名、要发起讨论的主题和内容,并选择自己所喜欢的头像,然后通过单击提交按钮将这些信息提交给文件saveTheme.asp进行处理。

------------newTheme.asp------------

<%@LANGUAGE="VBScript"%>

<%

Dimfso,fld,f,i

Setfso=Server.CreateObject("Scripting.FileSystemObject")

Setfld=fso.GetFolder(Server.MapPath("./Images"))

i=1

%>

发起新主题

发起讨论主题

作者

VALUE=<%=Request.Form("txtAuthor")%>>

主题

VALUE=<%=Request.Form("txtTheme")%>>

图像

<%ForEachfInfld.Files%>

<%Ifi=1ThenResponse.WriteSpace

(1)&"CHECKED"%>>

>

<%

i=i+1

Next

%>

内容

<%=Request.Form("txtContent")%>

  

7.1.5保存主题

访问者发起的讨论主题及其相关信息将提交给saveTheme文件进行处理。

在该文件中,首先检查“作者”、“主题”和“内容”的值,如果其中有任何一个为空字符串,则重新定向到发起讨论主题页面。

如果这些值都不是空字符串,则连接到数据库,并将该讨论主题及其相关信息保存到articels表中。

保存数据后,可以单击链接返回论坛首页,如图7.3所示。

------------saveTheme.asp------------

<%@LANGUAGE="VBScript"%>

<%

Dimauthor,ip_addr,theme,pic_path,content

author=Trim(Request.Form("txtAuthor"))

ip_addr=Request.ServerVariables("REMOTE_ADDR")

theme=Trim(Request.Form("txtTheme"))

pic_path=Request.Form("optPic")

content=Trim(Request("txtContent"))

Ifauthor=""Ortheme=""Orcontent=""Then

Server.Transfer"newTheme.asp"

EndIf

%>

保存讨论主题

--#includevirtual="/adovbs.inc"-->

<%

Dimid,cnn,rst,sSQL

Setcnn=Server.CreateObject("ADODB.Connection")

cnn.ConnectionString="PROVIDER=SQLOLEDB;DATASOURCE=Abc;"&_

"UID=sa;PWD=123;DATABASE=test"

cnn.Open

sSQL="INSERTarticles(author,ip_addr,theme,pic_path,content,_

view_times,reply_times)"

sSQL=sSQL&"VALUES('"&author&"','"&ip_addr&"','"

sSQL=sSQL&theme&"','"&"Images/"&pic_path&"','"&_

content&"',0,0)"

cnn.ExecutesSQL,,adCmdText

%>

讨论主题保存成功!

返回论坛首页】

7.1.6回复主题

为了便于访问者参加针对每个主题的讨论,主题列表中的每个主题均采取超链接形式,单击某个主题,即可查看关于该主题的讨论内容(包括原创帖子和回复帖子),此时可以针对该主题发表自己的意见,也可以通过单击相应的链接来发起新的讨论主题或者返回论坛首页。

当输入作者、主题和内容后,可以通过单击“提交”按钮将回复信息发送给Web服务器进行处理,如图7.4所示。

------------replyTheme.asp------------

<%@LANGUAGE="VBScript"%>

查看讨论内容并发表意见

发表新帖】

  

返回首页】

--#includevirtual="/adovbs.inc"-->

<%

Dimcnn,rstArt,rstRe,sSQL,fso,fld,f,id,i

Setcnn=Server.CreateObject("ADODB.Connection")

SetrstArt=Server.CreateObject("ADODB.Recordset")

SetrstRe=Server.CreateObject("ADODB.Recordset")

Setfso=Server.CreateObject("Scripting.FileSystemObject")

Setfld=fso.GetFolder(Server.MapPath("./Images"))

id=Request.QueryString("id")

cnn.ConnectionString="PROVIDER=SQLOLEDB;DATASOURCE=Abc;"&_

"UID=sa;PWD=123;DATABASE=test"

'打开到test数据库的连接

cnn.Open

'在所选主题的浏览次数上加1

sSQL="UPDATEarticlesSETview_times=view_times+1WHEREart_id="&id

cnn.ExecutesSQL,,adCmdText

'创建原创帖子的记录集

sSQL="SELECT*FROMarticlesWHEREart_id="&id

SetrstArt=cnn.Execute(sSQL,,adCmdText)

'创建回复帖子的记录集

sSQL="SELECT*FROMrepliesWHEREart_id="&id&_

"ORDERBYreply_timeDESC"

SetrstRe=cnn.Execute(sSQL,,adCmdText)

%>

当前讨论主题:

<%=rstArt("theme")%>

发表于<%=rstArt("issue_time")%>

<%=rstArt("author")%>

>

IP:

<%=rstArt("ip_addr")%>

<%IfrstRe.EOFThen%>

<%=rstArt("theme")%>

<%=rstArt("content")%>

当前没有回复!

<%

Else

WhileNotrstRe.EOF

%>

<%=rstRe("author")%>

>

IP:

<%=rstRe("ip_addr")%>

<%=rstRe("theme")%>

回复于<%=rstRe("reply_time")%>

<%=rstRe("content")%>

<%

Wend

EndIf

%>

回  复

作者

VALUE=<%=Request.Form("txtAuthor")%>>

主题

VALUE=<%=Request.Form("txtTheme")%>>

>

图像

<%ForEachfInfld.Files%>

<%Ifi=1ThenResponse.WriteSpace

(1)&"CHECKED"%>>

>

<%

i=i+1

Next

%>

内容

<%=Request.Form("txtContent")%>

  

7.1.7保存回复

针对某个主题的回复被提交给saveReply.asp文件进行处理。

在该文件中,首先检查“作者”、“主题”或“内容”是否为空字符串,若是则重定向到回复主题的页面,若不是则对所提交的数据进行处理。

数据处理的内容包括两方面:

一方面通过更新articles表中的reply_times列使当前主题的浏览次数加1;另一方面将回复者的姓名、IP地址、回复的主题和内容等保存到replies表中。

完成数据处理后,单击页面上的超链接可以返回论坛首页,如图7.5所示。

------------saveReply.asp------------

<%@LANGUAGE="VBScript"%>

<%

Dimauthor,ip_addr,theme,pic_path,content,id

Dimcnn,sSQL

author=Trim(Request.Form("txtAuthor"))

ip_addr=Request.ServerVariables("REMOTE_ADDR")

theme=Trim(Request.Form("txtTheme"))

pic_path=Request.Form("optPic")

content=Trim(Request.Form("txtContent"))

id=Request.Form("id")

'若“作者”、“主题”或“内容”为空字符串,则转移到回复主题页面

Ifauthor=""Ortheme=""Orcontent=""Then

Server.Transfer"replyTheme.asp"

EndIf

%>

回复已提交

--#includevirtual="/adovbs.inc"-->

<%

Setcnn=Server.CreateObject("ADODB.Connection")

cnn.ConnectionString="PROVIDER=SQLOLEDB;DATASOURCE=Abc;"&_

"UID=sa;PWD=123;DATABASE=test"

cnn.Open

'使当前主题的回复次数加1

sSQL="UPDATEarticlesSETreply_times=reply_times+1"&_

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 成人教育 > 自考

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2