4.4.4 主界面的设计 main,asp文件是BBS系统的主界面,读者在阅读时,应注意在程序中如何根据不同的用户权限来设置界面,即访问控制问题。 http://www.paper51.com 在这个版面中,主要要实现四个功能 paper51.com
1.只有注册成功,才显示相关内容 http://www.paper51.com 其关键语句是<% if Session(“success”)=True the%> 内容来自www.paper51.com
2.判断是否是注册用户 http://www.paper51.com 其关键语句是<% if Object(Session(“ID”)) then%> copyright paper51.com 3.判断是否是系统管理员 内容来自论文无忧网 www.paper51.com 其关键语句是<% if Session(“ID”)(“upermission”)=0 then%> 内容来自www.paper51.com
4.设置以访问主界面的标记 内容来自www.paper51.com 其关键语句是<% if Session(“visited”)=True%> paper51.com
4.4.5 精华版界面的制作 http://www.paper51.com 首先,要设定链接字符串Conn并创建RecordSet对象。其语句如下: paper51.com <% paper51.com dimrecArticles paper51.com set Conn=Server.CreateObject(“ADODB.Connection”) copyright paper51.com Conn.Open”bbs” 内容来自论文无忧网 www.paper51.com Set recArticles=Server.CreateObject(“ADODB.Recordset”) paper51.com If Request.ServerVariables(“Request_Metjpd”)=”POST” then 内容来自论文无忧网 www.paper51.com 然后,对于用户提交上来想要发表的文章,首先要设定发表文章的模式,然后把申请定向到”publish.asp”文件上。语句如下: copyright paper51.com
if Request.Form(“publish”)=”发表文章”then paper51.com
Session(“post_mode”)=”精华” 内容来自www.paper51.com Response.Redirect http://yyd/bbs/publish.asp http://www.paper51.com End if http://www.paper51.com 用户点击”提交”按钮 就要先处理要降级的文章,需要循环提交上来的chkDec中的每一个值,由于这些值是对应文章记录的主关键字ID,所以查找ID相符合得记录,再把它的location字段设置为False,就表示这篇文章已经属于普通版了。 内容来自www.paper51.com 语句如下: 内容来自www.paper51.com For each x in Request.Form(“chkDec”) copyright paper51.com sql=”select * from articles where ID =” & x 内容来自论文无忧网 www.paper51.com
recArticles.Open sq1,Conn,1,3 copyright paper51.com recArticles(“location”)=False http://www.paper51.com recArticles.Update paper51.com recArticles.Close paper51.com 然后,处理需要删除的文章,需要循环chkDel的每一个值并且需要跟新users库(sq1=”seclectuarticle from users where uid=(select auther from articles where id=”& x&”)”,查找ID相符合的记录,并将它删除。最后,重新打开数据库,选择属于精华版的文章(sq1=”select* from articles where location=True”:recArticles.Open sq1.Conn,1,3) http://www.paper51.com 4.4.6 普通版界面的设计 http://www.paper51.com 普通版界面制作和精华版界面设计类似,只不过在用户点击提交时,要处理的是升级的情况。语句如下: 内容来自论文无忧网 www.paper51.com For each x in Request.Form(“chkUpdate”) copyright paper51.com sq1=”select * from articles where ID=”& x 内容来自论文无忧网 www.paper51.com recArticles.Open sq1,Conn,1,3 http://www.paper51.com recArticles(“location”)=True http://www.paper51.com recArticles.Update paper51.com recArticles.Close http://www.paper51.com 4.4.7阅读版面设计 paper51.com 阅读版面比较简单,只是一个无边框的表格输出文章的内容,用一个QueryString字符串传递文章的编号和返回的版面。 paper51.com 4.4.8 发表文章界面的设计 copyright paper51.com 发表文章界面也比较简单,只是为了用户发表文章用,它用了变量Session(“post_mode”)来传递将返回哪个版面。 paper51.com 确认发表文章的话,就打开数据表: 内容来自www.paper51.com setConn=Server.CreateObject(“ADODB.Connection”) http://www.paper51.com Conn.Open”bbs” http://www.paper51.com
set recArticles=Server.CreateObject(“ADODB.Recordset”) copyright paper51.com sql=”Select * from articles” copyright paper51.com recArticles.Open sql,Conn,1,3 copyright paper51.com 利用AddNew方法添加记录: 内容来自www.paper51.com recArticles.AddNew 内容来自www.paper51.com
recArticles(“name”)=Request.From(“title”) 内容来自论文无忧网 www.paper51.com recArticles(“content”)=Request.From(“content”) 内容来自www.paper51.com
recArticles(“datel”)=Now http://www.paper51.com
recArticles(“auther”)=Session(“ID”)(“uid”) 内容来自论文无忧网 www.paper51.com 根据Session(“post_mode”)的值,来决定location字段的真或假: 内容来自www.paper51.com if Session(“post_mode”)=”精华”then http://www.paper51.com recArticles(“location”)=True paper51.com
else 内容来自论文无忧网 www.paper51.com
recArticles(“location”)=False paper51.com end if 内容来自论文无忧网 www.paper51.com recArticles.Update paper51.com http://www.paper51.com 用户的发表文章数加1 copyright paper51.com
resAriticles (“uarticle”)=recArticles(“uarticle”)+1 内容来自www.paper51.com resAriticles.Update paper51.com resAriticles.Close 内容来自论文无忧网 www.paper51.com resAriticles.Conn,Execute(“select * from users where uid =”&Session(“ID”)(“uid”)&””) copyright paper51.com |