毕业论文论文范文课程设计实践报告法律论文英语论文教学论文医学论文农学论文艺术论文行政论文管理论文计算机安全
您现在的位置: 毕业论文 >> 课程设计 >> 正文

asp学生论坛bbs设计毕业论文(开题报告+源代码) 第13页

更新时间:2010-4-18:  来源:毕业论文
asp学生论坛bbs设计毕业论文(开题报告+源代码) 第13页
If ShowUserid="" Then
  UPSQL=UPSQL + " Where Username='"&UserName&"'"
  SQL=SQL + " Where Username='"&UserName&"'"
 Else
  UPSQL=UPSQL + " Where Userid="&ShowUserid
  SQL=SQL + " Where Userid="&ShowUserid
 End If
 Set Rs=Mybbs.Execute(Sql)
 If Rs.Eof And Rs.Bof Then
  Mybbs.AddErrCode(32)
  Exit Sub
 Else
  Mybbs.Execute(UPSQL)
  'UserInfo=Rs.GetRows(1)
  SQL=Rs.GetString(,1, "@@@", "", "")
  Rs.Close:Set Rs=Nothing
 End if
 UserInfo=Split(Sql,"@@@")
 ShowUserid=Clng(UserInfo(0))
 UserName=UserInfo(1)
 前面的SQL语句和用户修改信息很相似,实际上就是修改用户信息的另外一种方法。Rs.GetString(,1, "@@@", "", "")这个方法是将Recordset作为字符串返回,Getstring可以有4个参数,这里只用到两个。因为浏览用户只需要从数据库中读取一条记录,所以这里的第二个参数为1,@@@是用来分割记录集字符串。使用这个方法会使读取记录的速度比较快,从而提高ASP的效率。
4.2 版面与公共信息模块
 4.2.1 版面浏览
 版面浏览是指版面的列表,版面有层次之分,一般以两层的方式显示。在一级版面下,依次显示子版面。可以使用几个函数来完成,如程序4-5。
程序4-5 版面浏览函数
 ‘函数一(获得某版面下的子版面):
 Public Function ReloadBoardInfo(lBoardID)
  If lBoardID=0 Then Exit Function
  Dim Rs
  Set Rs=Execute("select BoardID,BoardType,ParentID,ParentStr,Depth,RootID,Child,readme,
BoardMaster,PostNum,TopicNum,indexIMG,todayNum,boarduser,LastPost,Sid,Board_Setting,
Board_Ads,Board_user,IsGroupSetting,BoardTopStr,BoardID As TempStr,BoardID As TempStr1,
BoardID As TempStr2,BoardID As TempStr3,cid,BoardID As TempStr4 from Dv_board where
    BoardID="&lBoardID)
     If Not Rs.Eof Then
      Name = "BoardInfo_" & lBoardID
       Value = Rs.GetRows(1)
     Else
      '自动修正所有版面的boards数
      Call ReloadAllBoardInfo()
      'Response.Redirect "index.asp"
     End If
    Rs.Close
    Set Rs = Nothing
  End Function
 ‘函数二(自动修正所有版面的boards数)
 Public Sub ReloadAllBoardInfo()
  Dim Rs,Boards
  Set Rs=Execute("Select BoardID From Dv_Board Order By RootID,Orders")
  If Not Rs.Eof Then
   Boards=Rs.GetString(,-1, "",",","")
   Boards=Left(Boards,Len(Boards)-1)
  End If
  Rs.close:Set Rs=Nothing
  Execute("Update dv_Setup Set Forum_Boards='"&Boards&"'")
  ReloadSetupCache Boards,27
 End Sub
 Value = Rs.GetRows(1)一句用到了GetRows()方法,其作用是将Recordset对象的多个记录检索到数组中。GetRows可以带3个参数,这里只用到了第一个参数。在调用了GetRows后,下一个未读取的记录就成了当前记录。如果没有其他记录,则EOF的属性将被设置成True。
 4.2.2 公共信息模块
 公共信息有两类,一类是可以在版面的顶端可以看到的论坛信息,一类是由用户发起的在各个版面的信息,他的功能类似于广播,称之为小字报。一般公告具有时效性,要求只有管理员才能发布,而版主可以在其负责的版区发布。小字报则可有各个会员发布,且版主可以管理这些小字报。发布公告和帖子的原理是一样的,而只需要识别用户的身份来判断是否有发布和管理权限。如程序4-6。
程序4-6 判断用户身份程序(announcements.asp)
 程序一:
 Select case UserGroupID
  Case 4  Vipuser=True
  Case 3  Boardmaster=True
  Case 2  Superboardmaster=True
  Case 1  Master=True
 End Select
 程序二:
 If Mybbs.Master Then
   Mybbs. Boardmaster=True
  ElseIf Mybbs. Superboardmaste Then
   Mybbs. Boardmaster=True
  ElseIF Mybbs.UserGroupID=3 And Not Trim(Mybbs. BoardmasteList)=”” Then
  IF InStr(“|”&lcase(Mybbs. BoardmasteList)&”|”,”|”&lcase(Mybbs.Membername)&”|”)>0 Then
   Mybbs. Boardmaste=True
  End If
 End If
 注意UserGroupID和Mybbs.Membername两个变量,因为当用户登陆都其登陆信息会写如Cookie,这里面的变量信息就是从Cookie里面获得的。
4.3 帖子模块
 一个论坛最重要的是数据,数据部分最重要的只有两个,一个是用户数据,另一个就是帖子数据。而帖子是一个论坛存在的根本,所以非常重要。
 4.3.1 发布、修改、删除帖子
 对于发布、修改和删除帖子,发布是重点,修改帖子和发布帖子是差不多的,而删除帖子只需要多数据库的帖子ID实行删除操作,相对也比较简单。发布帖子的功能很多,使用心情图片和表情图片,正文部分可以自己定义喜欢的格式,还有使用各种UBB代码。
 帖子的正文部分可以通过一些代码插图图片、Flash等各种东西,而且可以自定义字体、格式、颜色等,让帖子看起来更丰富多彩。其实这里并没有提供HTML功能,而是用到了UBB码。UBB代码是HTML的一个变种,是Ultimate Bulletin Board(国外的一个BBS程序)采用的一种特殊的TAG。为了避免用户无意或有意的使用HTML代码对论坛进行攻击,一般论坛是禁止HTML代码的,但会开放一些自定义的Tag标签,类似与HTML中的Tag,这样就既可以使用一些等同于HTML代码的功能,又避免了论坛受到恶意的攻击。一般我们自定义的这些Tag叫做UBB代码。

 << 上一页  [11] [12] [13] [14] [15] [16] [17] [18] 下一页

asp学生论坛bbs设计毕业论文(开题报告+源代码) 第13页下载如图片无法显示或论文不完整,请联系qq752018766
设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©youerw.com 优文论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。