首页 期权学习期权知识正文

帝国CMS错误报告防垃圾灌水、统计增加选择分类

xiaojiucai 期权知识 2020-08-17 809 0

一、错误报告启用

内容模板加

<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="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、单选方式

在\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="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>

提示:由于前期整理文章没有进行格式化信息处理,导致有些包含代码修改的信息,根式混乱看不清楚。如果发现有此类问题,请在下方评论留言,墨鱼第一时间进行格式化整理!感谢配合

原文链接:https://www.qiquanji.com/post/8474.html

本站声明:网站内容来源于网络,如有侵权,请联系我们,我们将及时处理。

版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。