dedecms5.1分类信息的评论加验证,同步调用用户注册信息

加入验证码:(好处自不待言了,至少可拦截部分机器发垃圾信息了)
友情提醒,修改之前,请先做好备份。
一、修改 \templets\default\article_info.htm
1、在 <dd class="mtop"> 后加入:
<strong>验证 </strong><input name="validate" type="text" id="validate"  style="width:50px;height:22px;border:1px solid #000" /><img src="{dede:global name='cfg_cmspath'/}/include/vdimgck.php"  alt="看不清 点击刷新" width="58" height="24" align="absmiddle" onclick='this.src=this.src;' style='cursor:pointer' />

2、删除原“用户”、“密码”、“注册”等相关代码,便于整合注册用户登录同步信息
(步骤略)
3、修改 \plus\feedback.php
加入“验证码”验证(原代码,对“全部评论”有效,对文档中“验证码”验证无用。前提:后台开启“评论加验证码重新确认”)。
更改后的效果:加入验证码认证,无论通过验证否,提示信息后返回,或成功,或重发,相对原来的直观、友好。
原代码:(或备份原文件后,直接下载覆盖)
将以下代码 
  //是否加验证码重确认
  if(!isset($isconfirm)) $isconfirm = '';
  if($cfg_feedback_ck=='Y' && empty($isconfirm)){
          require_once($cfg_basedir.$cfg_templets_dir."/plus/feedback_confirm.htm");
          $dsql->Close();
          exit();
  }
  //检查验证码
  if($cfg_feedback_ck=='Y'){
          if(empty($validate)) $validate=="";
    else $validate = strtolower($validate);
    $svali = GetCkVdValue();
    if(strtolower($validate)!=$svali || $svali=="")
    {
      $dsql->Close();
      ShowMsg("验证码错误!返回","-1");
      exit();
    }
  }
改为:
  //是否加验证码重确认
  if(empty($isconfirm)) $isconfirm = "";
  if($isconfirm!="yes" && $cfg_feedback_ck=="是"){
      require_once($cfg_basedir.$cfg_templets_dir."/plus/feedback_confirm.htm");
      exit();
  }
  //检查验证码
  if($cfg_feedback_ck=="Y"){
      if(empty($validate)) $validate=="";
    else $validate = strtolower($validate);
    $svali = GetCkVdValue();
    if(strtolower($validate)!=$svali || $svali==""){
      ShowMsg("验证码错误!","-1");
      exit();
    }
  }

默认匿名发布:更改后的效果,游客发布时默认匿名,登录用户发布同步注册信息
找到原代码:
将以下代码

//其它检查
  if(empty($notuser)) $notuser=0;
  if($notuser==1){ //匿名发表留言
          if(empty($username)) $username = "Guest";
  }
  else if($ml->M_ID > 0){ //已登录的用户
          $username = $ml->M_UserName;
  }
  else{
改为:
//其它检查
  if(empty($notuser)) $notuser=1;
  if($notuser==1){ //匿名发表留言
        if($ml->M_ID > 0){ //已登录的用户
          $username = $ml->M_UserName;
  }  else
  if(empty($username)) $username = "Guest";
  }
  else{
二、整合同步用户登录信息
修改 \templets\default\article_info.htm
1、在

</head>
<body>
前加入
<!--横排登录引子 -->
<script language="JavaScript" src="/include/dedeajax2.js"></script>
<script language="javascript" type="text/javascript">
<!--
  function cleartext(e) {
    e.value='';
    e.focus();
  }
  function CheckLogin(){
  var taget_obj = document.getElementById('_loginform');
  myajax = new DedeAjax(taget_obj,false,false,"","","");
  myajax.SendGet2("{dede:global name="cfg_memberurl"/}/loginsta_admin5_2.php");
  }
//-->
</script>
<!--横排登录引子结束 -->

2、在“发表留言”代码后,找到:
("留言内容不能为空!");return false;'/></dd>
加入:
<dd><span id="_loginform" class="ddd" style="float:left">默认匿名 <a href="{dede:field name='memberurl'/}/login.php?fmdo=user&dopost=regnew"> <img src="{dede:global name='cfg_cmspath'/}/templets/img/logina.gif" width:36px height="19" align="absmiddle" /></a>
    <a href="{dede:field name='memberurl'/}/index_do.php?fmdo=user&dopost=regnew"> <img src="{dede:global name='cfg_cmspath'/}/templets/img/regs.gif" width:36px height="19" align="absmiddle" /></a>
  <!--  </form>  --></span>      <script language="JavaScript">CheckLogin();</script>
</dd>
3、更改member/loginst_admin5_2.php为自己需要的输出样式
(步骤略)
4、适当调整css式样至需要样式
(步骤略)
测试:http://www.kaifue.com
原帖位置:http://bbs.dedecms.com/62669-1.html
****************************************************
附:怎样在文章页的下面添加验证码,以及其他全部的调整
一、修改 \templets\default\article_article.htm (目的:加入验证码输入框)
在以下代码后
密码:<input name="pwd" class="password" type="password" maxlength="20" value="guest" onmouseover="this.select();" onclick="if(this.value=='guest'){this.value=''}"/>
加入:
验证码:<input name="validate" type="text" id="validate"  style="width:50px;height:22px;border:1px solid #000" /><img src="{dede:global name='cfg_cmspath'/}/include/vdimgck.php"  alt="看不清 点击刷新" width="58" height="24" align="absmiddle" onclick='this.src=this.src;' style='cursor:pointer' />
2、修改 \plus\feedback.php(目的如下)
加入“验证码”验证(原代码,对“全部评论”有效,对文档中“验证码”验证无用。前提:后台开启“评论加验证码重新确认”)。
更改后的效果:加入验证码认证,无论通过验证否,提示信息后返回,或成功,或重发,相对原来的直观、友好。
将以下代码 
  //是否加验证码重确认
  if(!isset($isconfirm)) $isconfirm = '';
  if($cfg_feedback_ck=='Y' && empty($isconfirm)){
          require_once($cfg_basedir.$cfg_templets_dir."/plus/feedback_confirm.htm");
          $dsql->Close();
          exit();
  }
  //检查验证码
  if($cfg_feedback_ck=='Y'){
          if(empty($validate)) $validate=="";
    else $validate = strtolower($validate);
    $svali = GetCkVdValue();
    if(strtolower($validate)!=$svali || $svali=="")
    {
      $dsql->Close();
      ShowMsg("验证码错误!返回","-1");
      exit();
    }
  }
改为:
  //是否加验证码重确认
  if(empty($isconfirm)) $isconfirm = "";
  if($isconfirm!="yes" && $cfg_feedback_ck=="是"){
      require_once($cfg_basedir.$cfg_templets_dir."/plus/feedback_confirm.htm");
      exit();
  }
  //检查验证码
  if($cfg_feedback_ck=="Y"){
      if(empty($validate)) $validate=="";
    else $validate = strtolower($validate);
    $svali = GetCkVdValue();
    if(strtolower($validate)!=$svali || $svali==""){
      ShowMsg("验证码错误!","-1");
      exit();
    }
  }
默认匿名发布:更改后的效果,游客发布时默认匿名,登录用户发布同步注册信息
找到原代码:
将以下代码

//其它检查
  if(empty($notuser)) $notuser=0;
  if($notuser==1){ //匿名发表留言
          if(empty($username)) $username = "Guest";
  }
  else if($ml->M_ID > 0){ //已登录的用户
          $username = $ml->M_UserName;
  }
  else{
改为:
//其它检查
  if(empty($notuser)) $notuser=1;
  if($notuser==1){ //匿名发表留言
        if($ml->M_ID > 0){ //已登录的用户
          $username = $ml->M_UserName;
  }  else
  if(empty($username)) $username = "Guest";
  }
  else{
3、修改\templets\style\article.css(目的:调整用户名、密码输入框的长度,原来的太长,会让加入验证码以后的页面严重变形,不好看)
找到如下代码:
.comment .postbox .userbox dl dd input.username,.comment .postbox .userbox dl dd input.password{
width:100px;
height:15px;
border:1px solid #B1DAEF;
margin-right:10px;
将其中的 idth:100px; 改为 width:48px; ( 1024X768的宽屏模板为70 )


100%(0)

100%(0)

发表评论

*