DeDeBIZ会员投稿限制默认是0更改为默认-1

snh102 By snh102 at 2025-02-12 • 暂不可见      举报

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无限次

教程结束了,这样改以后,在后台就有设置每日投稿数量了。

温馨提示

内容由用户共同创建和维护,并不代表织梦爱好者论坛立场!
建议您独自对内容进行评估,核实并咨询相关的专业人士!

DeDeBIZ会员投稿限制默认是0更改为默认-1DeDeBIZ会员投稿限制默认是0更改为默认-1DeDeBIZ会员投稿限制默认是0更改为默认-1DeDeBIZ会员投稿限制默认是0更改为默认-1DeDeBIZ会员投稿限制默认是0更改为默认-1+26  26 个回复 | 最后更新于 2025-02-12
该部分是隐藏区

登录后查看回复

该部分是隐藏区

登录后方可回帖

Loading...