东方星雨

简单网络

一个爱好网络的80后男站长。

关注我东方星雨个人微信号:476847113

您现在的位置是:首页 > 站长日志

帝国CMS错误报告功能启用、防垃圾灌水、统计、增加报告分类

2018-11-14 站长 站长日志

一、错误报告启用
内容模板加
<a href="[!--news.url--]e/public/report/?classid=[!--classid--]&id=[!--id--]">错误报告</a>

如果做了分类,请链接地址加个&cid=分类ID。如:&cid=1
<a href="[!--news.url--]e/public/report/?classid=[!--classid--]&id=[!--id--]&cid=1">错误报告</a>

二、错误报告防灌水

方法1、会员登录才能使用“错误报告”功能
可以设置仅注册会员才可以进行报告
修改 epublicreportindex.php
在里面加入判断语句,如加在$empire=new mysqlquery();该行下面:

$userid=(int)getcvar('mluserid');
if(!$userid)
{
        printerror('未登录用户禁用此功能','history.go(-1)',1,0,1);
}

方法2、使用验证码

三、错误报告统计

错误报告全部统计
<?=$empire->gettotal("select count(*) as total from {$dbtbpre}enewsdownerror")?>
注释:统计enewsdownerror表的记录总数



当前列表页页统计(列表页)
<?=$empire->gettotal("select count(*) as total from {$dbtbpre}enewsdownerror where classid='$GLOBALS[navclassid]'")?>
注释:只能统计终极栏目,一级栏目不能统计

指定列表页页统计(首页、列表页)
如:“影视频道”下的“动作片”
<?=$empire->gettotal("select count(*) as total from {$dbtbpre}enewsdownerror where classid='42' ")?>
注释:1、多个栏目时用:classid in('栏目ID1','栏目ID2','栏目ID3')
      2、只能统计终极栏目,一级栏目不能统计


当前内容页统计(内容页)
<?=$empire->gettotal("select count(*) as total from {$dbtbpre}enewsdownerror where classid='$navinfor[classid]' and id='$navinfor[id]'")?>

四、错误报告页面增加选择分类
说明:在填写错误报告的页面增加可选择的分类(后台增加的分类) 如:默认、新建 等信息分类

方法1、增加下拉框选择分类
  在etemplatepublicreport.php 中加入以下代码
  <select name="cid" id="cid">
    <option value="" selected="selected">请选择</option>
    <option value="1">默认</option>
    <option value="2">新建</option>
  </select>
--------------------------------------------------------------
实例:表单部分
<form name="form1" method="post" action="../../enews/index.php">
  <table width="600" border="0" align="center" cellpadding="3" cellspacing="1"class=tableborder>
  <input type="hidden" name="cid" value="<?=$cid?>">
    <tr class=header> 
      <td height="23" colspan="2">提交错误报告</td>
    </tr>
    
    
    <tr>
      <td width='16%' height=25 bgcolor='ffffff'><div align="right">选需求:</div></td>
      <td bgcolor='ffffff'>
        <select name="cid" id="cid">
        <option value="" selected="selected">请选择</option>
      <option value="1">默认</option>
      <option value="2">新建</option>
    </select></td>
    </tr>    
    
    
    <tr bgcolor="#FFFFFF"> 
      <td width="137" height="23"><div align="left">信息标题:</div></td>
      <td width="448" height="23"><a href='<?=$titleurl?>' target=_blank><?=$r[title]?></a></td>
    </tr>
    <tr bgcolor="#FFFFFF"> 
      <td height="23"><div align="left">您的邮箱:</div></td>
      <td height="23"><input name="email" type="text" id="email">
        (方便回复您)</td>
    </tr>
    <tr bgcolor="#FFFFFF"> 
      <td height="23"><div align="left">报告内容(*):</div></td>
      <td height="23"><textarea name="errortext" cols="60" rows="12" id="name4"></textarea></td>
    </tr>
    <tr bgcolor="#FFFFFF"> 
      <td height="23">&nbsp;</td>
      <td height="23"><input type="submit" name="Submit" value="提交"> <input type="reset" name="Submit2" value="重置"> 
        <input name="enews" type="hidden" id="enews" value="AddError">
        <input name="id" type="hidden" id="id" value="<?=$id?>">
        <input name="classid" type="hidden" id="classid" value="<?=$classid?>"></td>
    </tr>
  </table>
</form>

==============================================================================================
方法2、单选方式
在etemplatepublicreport.php 中的“信息标题:”下面加入以下代码(在“信息标题:”以上添加时,信息标题会不显示)
<?php
$sql=$empire->query("select classid,classname from {$dbtbpre}enewserrorclass order by classid desc");
?>
<?
  while($r=$empire->fetch($sql))
  {
  ?>
<input name="cid" type="radio" value="<?=$r[classid]?>"><?=$r[classname]?>
<?
  }
  db_close();
  $empire=null;
  ?>

--------------------------------------------------------------
实例:表单部分

<form name="form1" method="post" action="../../enews/index.php">
  <table width="600" border="0" align="center" cellpadding="3" cellspacing="1"class=tableborder>
  <input type="hidden" name="cid" value="<?=$cid?>">
    <tr class=header> 
      <td height="23" colspan="2">提交错误报告</td>
    </tr>
    <tr bgcolor="#FFFFFF"> 
      <td width="137" height="23"><div align="left">信息标题:</div></td>
      <td width="448" height="23"><a href='<?=$titleurl?>' target=_blank><?=$r[title]?></a></td>
    </tr>
        
     <tr bgcolor="#FFFFFF"> <td height="23"><div align="left">选择分类:</div></td>
      <td  height="23"><?php $sql=$empire->query("select classid,classname from {$dbtbpre}enewserrorclass order by classid desc");?>
<? while($r=$empire->fetch($sql)){ ?><input name="cid" type="radio" value="<?=$r[classid]?>"><?=$r[classname]?>
<? } db_close();$empire=null;?></td>      
    </tr>
        
        
    <tr bgcolor="#FFFFFF"> 
      <td height="23"><div align="left">您的邮箱:</div></td>
      <td height="23"><input name="email" type="text" id="email">
        (方便回复您)</td>
    </tr>
    <tr bgcolor="#FFFFFF"> 
      <td height="23"><div align="left">报告内容(*):</div></td>
      <td height="23"><textarea name="errortext" cols="60" rows="12" id="name4"></textarea></td>
    </tr>
    <tr bgcolor="#FFFFFF"> 
      <td height="23">&nbsp;</td>
      <td height="23"><input type="submit" name="Submit" value="提交"> <input type="reset" name="Submit2" value="重置"> 
        <input name="enews" type="hidden" id="enews" value="AddError">
        <input name="id" type="hidden" id="id" value="<?=$id?>">
        <input name="classid" type="hidden" id="classid" value="<?=$classid?>"></td>
    </tr>
  </table>
</form>

文章评论