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

一、错误报告启用
内容模板加
<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、会员登录才能使用“错误报告”功能
可以设置仅注册会员才可以进行报告
修改 e\public\report\index.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、增加下拉框选择分类
  在\e\template\public\report.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=1class=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、单选方式
在\e\template\public\report.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=1class=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>

简简单单挺好的

联系我们 订单查询