帝国CMS错误报告功能启用、防垃圾灌水、统计、增加报告分类
2024-08-28 12:25:43
供稿:网友
一、错误报告启用
内容模板加
<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"> </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"> </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>