频道直达 - 专题 - 新闻 - 技巧 - 组网 - 开发 - 安全 - web编程 - 图像 - 操作系统 - 数据库 - 教育 - 旅游 - 健康 - 时尚 - 驱动 - 软件 - 游戏 - 多媒体 - ERP - 讨论组

ASP技术在论坛中的运用(八)(吐血推荐!!!!)

来源: 作者: 出处:巧巧读书 2006-10-14 进入讨论组

      使用Session来保持对斑竹的身份验证,这必须要求客户端浏览器的cookie被打开了。因为Session是通过cookie来实现的。在这儿,把看板ID赋给Session变量beenthere,表明斑竹已经通过了身份验证。
在后面的每个版务处理的页面中,都要检查beenthere是否和相应的看版ID相符。

url="boardmanager.ASP?boardid=" & boardid

response.redirect url

初学ASP的时候总是为response.redirect这个方法感到困惑,屡用不爽,现在我来告诉你一些技巧。使用它之前,必须通过response.buffer=true来让ASP页面使用缓冲区。这时,在ASP被解释成HTML代码之前,它是放在缓冲区中的,而不直接被发送的客户端浏览器。还有一个必须要知道的是:在使用response.redirect之前,是不能有任何实际的HTML代码被发送到客户端浏览器的,否则就会出错。当然也有变通的方法,如果在response.redirect之前已经有HTML代码被解释出来,可以用response.clear方法来清除缓冲区,然后就可以使用它来进行重定向了。

end if

%>

 

下面的页面,就是在上面身份验证通过后重定向的目标:boardmanager.ASP。它将列出了所有别有被处理的文章。

< %

boardid=request("boardid")

if session("beenthere")< >boardid then response.redirect "forums.ASP"

这就是检验斑竹身份的地方,因为前面已经通过cookie在斑竹的浏览器中作了标记,现在我们就能够通过seesion来辨认斑竹的身份了。如果标志不符,就会通过response.redirect返回到最开始的登陆页面。如果斑竹浏览器的cookie没有打开,那么seesion(“beenthere“)的值会为空,同样也无法进入这个页面。

Set conn = Server.CreateObject("ADODB.Connection")

conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("bbssystem.mdb")

Set cmd = Server.CreateObject("ADODB.Command")

Set cmd.ActiveConnection = conn

sql="select 名称 from 看板列表 where id=" & boardid

set rs=conn.execute(sql)

boardname=rs("名称")

cmd.commandtext="未发表文章列表"

ReDim param(0) ' 声明

param(0) = CLng(boardid) ' Cint 不可忽略

Set rs = cmd.Execute( ,param )

set cmd=nothing

%>

< HTML>

< head>

< title>版务处理< /title>

< meta http-equiv="Content-Type" content="text/HTML; charset=gb2312">

< /head>

< body bgcolor="#FFFFFF">

< h1 align="center">< %=boardname%>板板务管理< /h1>

< hr>

< %

if rs.eof or rs.bof then response.write "< H2>现在没有文章要处理< /h2>"

response.end

%>

如果没有新文章被网友发布,这给出相应的提示,并用response.end来结束此页的显示。

< table width="90%" border="0" cellspacing="0" cellpadding="0" align="center" >

< tr bgcolor="#FFFFCC">

< td width="40%" height="20">主题< /td>

< td width="40%" height="20">文章标题< /td>

< td width="8%" height="20">作者< /td>

< td width="12%" height="20">日期< /td>

< /tr>

< %

do

topicid=rs("主题id")

articleid=rs("文章id")

data=rs("日期")

datastr=cstr(year(data)) & "-" & cstr(month(data)) &"-" & cstr(day(data))

author=rs("作者")

articlename=rs("标题")

topicname=rs("主题")



response.write "< tr>< td>< a href=../../qtopic.ASP?topicid="& topicid & ">" & topicname & "< /A>< /td>"

response.write "< td>< a href=../../managearticle.ASP?articleid="& articleid & "&boardid=" & boardid &">" & articlename & "< /A>< /td>"

response.write "< td>< a href=../../qauthor.ASP?author="& author & ">" & author & "< /a>< /td>"

response.write "< td>" & datastr & "< /td>< /tr>"

rs.movenext

loop until rs.eof

%>

< /table>

< /HTML>

< %

set rs=nothing

conn.close

set conn=nothing

%>

< /body>

当点击了相应文章的联结后,就进入此文章的处理页面managearticle.ASP:

< %

articleid=request("articleid")

boardid=request("boardid")

if session("beenthere")< >boardid then response.redirect "forums.ASP"

Set conn = Server.CreateObject("ADODB.Connection")

conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("bbssystem.mdb")

Set cmd = Server.CreateObject("ADODB.Command")

Set cmd.ActiveConnection = conn

cmd.CommandText = &q本U R L:http://www.qqread.com/asp/2006/10/n222758.html进入讨论组讨论。
收藏此文】【 】【打印】【关闭
相关图文阅读
频道图文推荐
健 康 咨 询
时 尚 咨 询
巧巧读书宗旨
相关专题
最新论坛文章
站内各频道最新更新文档
站内最新制作专题
热门关键字导读
Photoshop教 程照片处理 照片制作 PS快捷键 抠图
计 算 机 故 障XP系统修复
艺 术 与 设 计设计 流媒体 设计欣赏 边框
计 算 机 安 全ARP
站内频道文章精选
巧巧电脑频道编辑信箱  告诉我们您想看的专题或文章