不错呦!smile@林凯西,确保“准备文件”中的几个文件都有安装,S...您好,看了您这篇帖子觉得很有帮助。但是有个问题想请...我的修改过了怎么还被恶意注册呢 @jjjjiiii 用PJ快9年了,主要是A...PJ3啊,貌似很少有人用PJ了,现在不是WP就是z...@332347365,我当时接入时错误码没有-10...楼主,ChkValue值应为-103是什么意思呢?...大哥 你最近能看到我发的信息,请跟我联系,我有个制...
DvBBS同一贴子同一帐号连续回复不得超过三次
编辑:dnawo 日期:2007-10-29
昨天下午老迷在动网官方论坛上发贴宣布ASP8.1版正式发布,点进去一看,只见前两页都是同一会员在做毫无意义的顶贴(今天已经删除)。想起以前在CSDN上有见限制同一贴子同一帐号连续回复不得超过三次,那我们来给DvBBS也加上这功能。打开savepost.asp,找到如下内容:
在它上边加一个函数CheckPostTimes:
再在Save_CheckData()函数内插入如下红色部分代码:
上边针对的是DvBBS8.1的修改,DvBBS7.1的朋友只须将上边的代码稍做修改即可:
1. CheckPostTimes函数中Set Rs = Dvbbs.iCreateObject("ADODB.Recordset")改为:Set Rs = Server.CreateObject("ADODB.Recordset")
2.第二处修改中parameter="showerr.asp?ShowErrType="&Dvbbs.ErrType&"&ErrCodes=<li>同一贴子同一帐号连续回复不得超过三次&action=OtherErr&autoreload=1"修改为:parameter="showerr.asp?ErrCodes=<li>同一贴子同一帐号连续回复不得超过三次&action=OtherErr&autoreload=1"
引用内容
Rem ------------------------
Rem 保存部分函数开始
Rem ------------------------
Rem 保存部分函数开始
Rem ------------------------
在它上边加一个函数CheckPostTimes:
复制内容到剪贴板 程序代码
'连续回复不得超过三次
Private Function CheckPostTimes(AnnounceID)
Dim arrID,i
CheckpostTimes = 0
Set Rs = Dvbbs.iCreateObject("ADODB.Recordset")
SQL = "Select top 3 postuserid From " & TotalUseTable & " Where BoardID=" & Dvbbs.BoardID & " and ParentID=" & AnnounceID & " order by AnnounceID Desc"
Rs.Open SQL,conn,1,1
If Not Rs.Bof And Not Rs.Eof Then arrID = Rs.GetRows(-1)
Rs.close
Set Rs = Nothing
If isArray(arrID) Then
If UBound(arrID,2)=2 Then
For i=0 to UBound(arrID,2)
If arrID(0,i)=Dvbbs.UserID Then
CheckpostTimes = CheckpostTimes + 1
End If
Next
End If
End If
End Function
Private Function CheckPostTimes(AnnounceID)
Dim arrID,i
CheckpostTimes = 0
Set Rs = Dvbbs.iCreateObject("ADODB.Recordset")
SQL = "Select top 3 postuserid From " & TotalUseTable & " Where BoardID=" & Dvbbs.BoardID & " and ParentID=" & AnnounceID & " order by AnnounceID Desc"
Rs.Open SQL,conn,1,1
If Not Rs.Bof And Not Rs.Eof Then arrID = Rs.GetRows(-1)
Rs.close
Set Rs = Nothing
If isArray(arrID) Then
If UBound(arrID,2)=2 Then
For i=0 to UBound(arrID,2)
If arrID(0,i)=Dvbbs.UserID Then
CheckpostTimes = CheckpostTimes + 1
End If
Next
End If
End If
End Function
再在Save_CheckData()函数内插入如下红色部分代码:
复制内容到剪贴板 程序代码
ElseIf Action = 6 Then
AnnounceID = Request("followup")
RootID = Request("RootID")
If AnnounceID = "" or Not IsNumeric(AnnounceID) Then Dvbbs.AddErrCode(30)
If RootID = "" or Not IsNumeric(RootID) Then Dvbbs.AddErrCode(30)
TotalUseTable=Request.Form("TotalUseTable")
TotalUseTable=checktable(TotalUseTable)
ShowErr()
AnnounceID = cCur(AnnounceID)
ParentID = AnnounceID
RootID = cCur(RootID)
MyLockTopic=0
If CheckPostTimes(AnnounceID)=3 Then
parameter="showerr.asp?ShowErrType="&Dvbbs.ErrType&"&ErrCodes=<li>同一贴子同一帐号连续回复不得超过三次&action=OtherErr&autoreload=1"
Response.redirect parameter
End If
ElseIf Action = 8 Then
AnnounceID = Request("followup")
RootID = Request("RootID")
If AnnounceID = "" or Not IsNumeric(AnnounceID) Then Dvbbs.AddErrCode(30)
If RootID = "" or Not IsNumeric(RootID) Then Dvbbs.AddErrCode(30)
TotalUseTable=Request.Form("TotalUseTable")
TotalUseTable=checktable(TotalUseTable)
ShowErr()
AnnounceID = cCur(AnnounceID)
ParentID = AnnounceID
RootID = cCur(RootID)
MyLockTopic=0
If CheckPostTimes(AnnounceID)=3 Then
parameter="showerr.asp?ShowErrType="&Dvbbs.ErrType&"&ErrCodes=<li>同一贴子同一帐号连续回复不得超过三次&action=OtherErr&autoreload=1"
Response.redirect parameter
End If
ElseIf Action = 8 Then
上边针对的是DvBBS8.1的修改,DvBBS7.1的朋友只须将上边的代码稍做修改即可:
1. CheckPostTimes函数中Set Rs = Dvbbs.iCreateObject("ADODB.Recordset")改为:Set Rs = Server.CreateObject("ADODB.Recordset")
2.第二处修改中parameter="showerr.asp?ShowErrType="&Dvbbs.ErrType&"&ErrCodes=<li>同一贴子同一帐号连续回复不得超过三次&action=OtherErr&autoreload=1"修改为:parameter="showerr.asp?ErrCodes=<li>同一贴子同一帐号连续回复不得超过三次&action=OtherErr&autoreload=1"
评论: 0 | 引用: 0 | 查看次数: 4366
发表评论
请登录后再发表评论!