本人使用的是dedecms5.3,由于做了很多二次開發,所以現在雖然dedecms新版出來了,但是不能升級,不然對應的二次開發工作量太大了。因此,一直堅持使用dedecms5.3版本。
由于我的網站是個學術網站B5教程網 cms教程,是dede5.3和pw8.7整合的,會員間實現了無縫賬號互通和登錄,由于dedecms5.3沒有控制會員注冊的設置,因此,為了控制網站會員注冊的數量和質量,增加會員賬號的重要性,監測人網站采用二次開發來控制會員注冊。
我的思路主要是每月對外開放4天供網站會員進行注冊,其余時間關閉注冊功能,但登錄等其他功能不受影響。主要是修改index_do.php和添加系統變量。
下面為本人原創的開發步驟:
1、index_do.php中找到
//引入注冊頁面
else if($dopost=="regnew")
{
在后面添加:
//*****************wbsky6 添加規定時間內注冊或者任意時間注冊,$zhuceriqi是關鍵 開始***************************
// $zhuceriqi獲取允許注冊日期,指的是日,比如5月4日、14日和24日可以注冊,即設置為4/14/24
//$zhuceriqi為0時表示任何時段均可注冊,為字符串時則只能規定的時間段內注冊。
$zhuceriqi =$cfg_zhucerq;//"4/14/16/13";//即此處要么為0,表示不受限制;要么為限制字符串。"4/14/3/17"
$flag_kz=0;//0表示不能注冊,1表示能注冊
if ($zhuceriqi==0){ //表示不收限制,任何時段均可注冊。
$flag_kz=1;
}
else if ($zhuceriqi!=0){//表示受限制,需要在規定時間內才能注冊。 // 取得今天的時間
$arr = getdate();
$jtr= $arr['mday'];//取得今天是多少日,判斷今天是否開放注冊
$rq=explode("/",$zhuceriqi);// 將所有允許注冊日期全部存儲到rq數組中。
for($i=0; $i<count($rq); $i++){
if($jtr==$rq[$i]){
$flag_kz=1;
break;}
else
{$flag_kz=0;}
}//for end
}//if endif ($flag_kz==1){//表示能注冊
//*****************wbsky6 添加規定時間內注冊或者任意時間注冊,$zhuceriqi是關鍵 結束***************************
2、緊接著找到:
require_once(dirname(__FILE__)."/reg_new.php");
exit();
并在后面添加:
//*****************wbsky6 添加規定時間內注冊或者任意時間注冊,$zhuceriqi是關鍵 開始***************************
}
else if ($flag_kz==0){//表示不能注冊
ShowMsg("您好!今日不對外開放注冊!","/noreg.html");
exit();
}
//*****************wbsky6 添加規定時間內注冊或者任意時間注冊,$zhuceriqi是關鍵 結束***************************
這樣子index_do.PHP的修改就完成了。
3、創建系統變量:
在系統設置里面增加變量cfg_zhucerq,放到會員設置分組下,此變量為0表示任何時段均可注冊,4/14/16/13表每月開放注冊的時間段。
以上為wbsky6本人此次二次開發的總結,希望大家多多支持wbsky6,后續將有更多二次開發的心得總結分享給大家!
此文由 網站目錄_網站網址收錄與提交入口 編輯,未經允許不得轉載!: