biz_member 表的 send_max 字段是会员每日投稿剩余次数。这个字段设置貌似有点问题。只能在后台会员管理-所有会员列表-修改会员信息中...的数据面板,要挨个设置投稿限制。
PS:后台会员管理列表,还展示每日投稿限制数量,想告诉你这个会员今天还能投稿。
这点有点折磨人了。而且,在 /user/reg_new.php 会员注册页面,居然没有 send_max 字段入库设置。它的设置在后台 /admin/member_do.php 第 136 行,代码如下
$send_max = isset($send_max)? intval($send_max) : 0; 挨个修改会员信息时才有入库。
其次,这个字段,在新建数据库的时候,就已经被分配为0了。
打开 /install/sql-dftables.txt 在 483 行,也可以搜索
`send_max` int DEFAULT '0',
默认字段就是0了,还没有一键设置的地方。挨个改,挨个设置,那是不可能的,这辈子都不要挨个去设置,真的是能把管理员累翻了。下面,我来把它改改,让用户可以一键设置。
一、开启开发模式
DeDeBIZ一键式切换安全开发模式:照着改吧,不改的话,某些功能你用不了。
二、DeDeBIZ每日投稿数量限制的方法:这里就能修改,但是,并没有解决根源问题。
三、先把第一步和第二步都做了,然后接下来是彻底解决这个根源问题。
四、打开 /install/sql-dftables.txt 在 483 行,也可以搜索
`send_max` int DEFAULT '0',
改为
`send_max` int DEFAULT '-1',
这样,就能无限投稿了吧。当然,你已经安装好程序了,就用SQL命令执行吧。
五、点击系统-SQL命令工具-运行下面代码
UPDATE `#@__member` SET send_max = '-1'
当然了,你也可以设置每日投稿5篇,10篇等,能防止灌水,其实有个限制也挺好的。
六、会员注册时就设置,打开 /user/reg_new.php 看到第 95 行,就是下面入库配置
$inQuery = "INSERT INTO `#@__member` (`mtype` ,`userid` ,`$pp`,`uname` ,`sex` ,`rank` ,`money` ,`email` ,`scores` ,`matt`, `spacesta` ,`face`,`safequestion`,`safeanswer` ,`jointime` ,`joinip` ,`logintime` ,`loginip`, `pmid`) VALUES ('$mtype','$userid','$pwd','$uname','','10','$dfmoney','','$dfscores','0','$spaceSta','','','','$jointime','$joinip','$logintime','$loginip', '$pMid'); ";
改为
$send_max = '-1';// 0不能投稿、-1无限次 $inQuery = "INSERT INTO `#@__member` (`mtype` ,`userid` ,`$pp`,`uname` ,`sex` ,`rank` ,`money` ,`email` ,`scores` ,`matt`, `spacesta` ,`face`,`safequestion`,`safeanswer` ,`jointime` ,`joinip` ,`logintime` ,`loginip`, `pmid`, `send_max`) VALUES ('$mtype','$userid','$pwd','$uname','','10','$dfmoney','','$dfscores','0','$spaceSta','','','','$jointime','$joinip','$logintime','$loginip', '$pMid', '$send_max'); ";
完成,算是解决根源问题了,当网站注册会员时,就会自动设置-1无限次投稿了。
七、最后在系统设置基本参数中加个会员每日投稿次数。
打开系统设置新增变量-后台-系统设置-添加变量
变量说明:会员每日投稿次数
变量值:10
变量名称:cfg_tougaomax
变量类型:文本
变量所属:会员设置
注意:其中的 变量值 10 就是限制每日投稿10篇,可自行安排或者为空也行。
还要注意:添加变量后,记得点击-后台-系统设置-下面的保存按钮。
八、设置还没生效,还得要继续修改。打开 /admin/sys_info.php 搜索
ReWriteConfig(); ShowMsg("成功修改系统设置", "sys_info.php");
在 59-61 行左右,在 ReWriteConfig(); 前面敲个回车,加入下面代码
$www = $dsql->GetOne("SELECT value FROM `#@__sysconfig` WHERE varname = 'cfg_tougaomax' "); if (!empty($www['value']) && ($www['value'] > 0 || $www['value'] == '-1')){ $dsql->ExecuteNoneQuery("UPDATE `#@__member` SET send_max = '{$www['value']}' "); }
PS:这样改,cfg_tougaomax 的设置 0 时是不会改的,你想任何设置都改,用下面这句
$www = $dsql->GetOne("SELECT value FROM `#@__sysconfig` WHERE varname = 'cfg_tougaomax' "); $dsql->ExecuteNoneQuery("UPDATE `#@__member` SET send_max = '{$www['value']}' ");
PS:这样就没有任何条件限制了。二选一吧,推荐选第一条。
这样改以后,在后台就能自由配置每日投稿数量了。
九、做了第八步,那么第六步还得再改改。打开 /user/reg_new.php 搜索
$send_max = '-1';// 0不能投稿、-1无限次
改为
$send_max = ($cfg_tougaomax != '') ? $cfg_tougaomax : '-1';// 0不能投稿、-1无限次
教程结束了,这样改以后,在后台就有设置每日投稿数量了。





登录后方可回帖