问题:评论怎么加验证码呢?
回答:其他我就不要多说了,直接转到正题,根据我下面的方法去做就可以了,一步一步来。
哦,首选我要说明的是,只能一个频道一个频道做,简单说就是N个频道要做N次哦。呵呵~~是不是很吓人呢,其他很简单的。
第一步:修改模板,把验证码放到评论模板(如:文章中心管理--文章模板页管理---评论XX模板页)里面,放到合适的地方即可,位置不限制,自己灵活处理,代码如下 (从下面代码,我们可以看出我是从留言版的代码复制过来的吧,呵呵..)
[因为添加时有过滤,复制时要把下面的“<”改为“<”]
<input name="button" type="submit" onclick="location.reload();" value="发表" />
<script language=javascript> <!-- function refreshimg(){document.all.checkcode.src='../inc/checkcode.asp';} //--> </script> 验证码:<Input maxLength=6 size=6 name=CheckCode> <A title=看不清楚,换个图片 href="nojavascript...refreshimg()"><IMG id=checkcode style="BORDER-RIGHT: #ffffff 1px solid; BORDER-TOP: #ffffff 1px solid; BORDER-LEFT: #ffffff 1px solid; BORDER-BOTTOM: #ffffff 1px solid" src="{$InstallDir}inc/checkcode.asp"></A><FONT color=red> *</FONT> |
复制保存后,到评论页看看,是不是出来了,呵呵,验证码出来了算了成功了第一步了,下面我们做第二步了,看下面。红色的代码表示当提交评论后,会把页面刷新下,这样验证码就会更新。
第二步:修改Comment.asp文件,如:Article/Comment.asp
红色为要加上的代码:
<%@language=vbscript codepage=936 %> <% Option Explicit Response.Buffer = True %> <!--#include file="../conn.asp"--> <!--#include file="Channel_Config.asp"-->
<!--#include file="../inc/function.asp"--> <% IF Action="Save" Then Dim CheckCode CheckCode = LCase(Trim(Request("CheckCode"))) If Trim(Session("CheckCode")) = "" Then FoundErr = True ErrMsg = ErrMsg & "<br><li>你在管理登录停留的时间过长,导致验证码失效。请重新返回登录页面进行登录。<br> 请返回上一页手动点击验证码刷新。</li>" End If If CheckCode <> Session("CheckCode") Then FoundErr = True ErrMsg = ErrMsg & "<br><li>您输入的验证码和系统产生的不一致,请重新输入。请返回上一页手动点击验证码刷新。</li>" End If If FoundErr = True Then Call WriteErrMsg(ErrMsg,"ol") response.end End If End if
Call CloseConn Call Main Sub Main() On Error Resume Next Dim PE_Comment Set PE_Comment = Server.CreateObject("PE_Common6.Comment") If Err Then Err.Clear Response.Write "对不起,你的服务器没有安装动易组件(PE_Common6.dll),所以不能使用动易系统。请和你的空间商联系以安装动易组件。" Exit Sub End If PE_Comment.iConnStr = ConnStr PE_Comment.iSystemDatabaseType = SystemDatabaseType PE_Comment.CurrentChannelID = ChannelID Call PE_Comment.Execute Set PE_Comment = Nothing If Err Then Response.Write "错 误 号:" & Err.Number & "<BR>" Response.Write "错误描述:" & Err.Description & "<BR>" Response.Write "错误来源:" & Err.Source & "<BR>" Err.Clear End If End Sub '下面是新加上的,是去掉验证码返回重复使用,但是返回上一页需要手动点击验证码刷新 IF Action="Save" Then Session("CheckCode") = "" End If %>
| (中华企业文化网)
|