有些網站加了投稿功能了,但會員可以無數投稿了,如果我們希望限制一個會員每天的投稿數量就可以參考下面方法來解決了。
我自己就寫了這段代碼,在我本地上測試成功,群里人也反映可以用,就把這段代碼分享給大家,有需要的不妨試一試
第一步:打開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();
- }
這樣就可以有效的判斷了,其余模型的修改也類似這樣的.
新聞熱點
疑難解答