有些网站加了投稿功能了,但会员可以无数投稿了,如果我们希望限制一个会员每天的投稿数量就可以参考下面方法来解决了。
我自己就写了这段代码,在我本地上测试成功,群里人也反映可以用,就把这段代码分享给大家,有需要的不妨试一试
第一步:打开member/article_add.php文件
第二步:在大约39行处找到以下代码
第三步:在 { 中添加以下代码:
- $memberarcnum = $dsql->GetOne("SELECT count(*) FROM `dede_archives` WHERE mid='".$cfg_ml->M_ID."' AND FROM_UNIXTIME(senddate,'%Y-%m-%d') = curdate()");
- //判断当前投稿数量是否大于3篇
- if($memberarcnum['count(*)'] > 3)
- { //Vevb.com
- ShowMsg("对不起,您所在会员组每日只可投稿3篇!","/member/content_list.php?channelid=1");
- exit();
- }
$memberarcnum['count(*)'] > 3,3这个数字可以任意修改,就是限制会员每天只可以发布3条.
方法二,近积分进行限制,如200积分以下的不能发稿,配置如了.
1.投稿:打开member/article_add.php,找到:
- if(emptyempty($dopost))
- {
在他后边加入:
- //检查用户
- $username = $cfg_ml->M_UserName;
- $l_jifen=$dsql->GetOne("Select scores from `js_member` where uname='$username'");
- if($l_jifen['scores']>=200)
- {
- $dsql->ExecuteNoneQuery("Update `js_member` set logintime='".time()."',loginip='".GetIP()."' where mid='{$cfg_ml->M_ID}'; ");
- } //Vevb.com
- else
- {
- ResetVdValue();
- ShowMsg("对不起,需要200以上积分才能在发布文档!","-1","0",3000);
- exit();
- }
2.评论:打开plus/feedback_ajax.php,找到:
- //检查用户
- $username = emptyempty($username) ? '游客' : $username;
- if(emptyempty($notuser)) $notuser = 0;
- if($notuser==1)
- {
- $username = $cfg_ml->M_ID > 0 ? '匿名' : '游客';
- }
- else if($cfg_ml->M_ID > 0)
- {
- $username = $cfg_ml->M_UserName;
- }
- else if($username!='' && $pwd!='')
- {
- $rs = $cfg_ml->CheckUser($username, $pwd);
- if($rs==1)
- {
- $dsql->ExecuteNoneQuery("Update `js_member` set logintime='".time()."',loginip='".GetIP()."' where mid='{$cfg_ml->M_ID}'; ");
- }
- $cfg_ml = new MemberLogin();
- }
- //替换为:
- //检查用户
- $username = $cfg_ml->M_UserName;
- $l_jifen=$dsql->GetOne("Select scores from `js_member` where uname='$username'");
- if($l_jifen['scores']>=150)
- {
- $dsql->ExecuteNoneQuery("Update `js_member` set logintime='".time()."',loginip='".GetIP()."' where mid='{$cfg_ml->M_ID}'; ");
- }
- else
- {
- ResetVdValue();
- ShowMsg("对不起,需要150以上积分才能在发布文档!","-1","0",3000);
- exit();
- }
这样就可以有效的判断了,其余模型的修改也类似这样的.
新闻热点
疑难解答