书签 分享 收藏 举报 版权申诉 / 91

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

  • 文档编号:17230425
  • 上传时间:2023-07-23
  • 格式:DOCX
  • 页数:91
  • 大小:40.36KB

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"&_

配套讲稿:

如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

特殊限制:

部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

关 键  词:
ASP 动态 网页 设计
提示  冰点文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
关于本文
本文标题:ASP动态网页设计第7章.docx
链接地址:https://www.bingdoc.com/p-17230425.html
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

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

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


收起
展开