論壇類有會員互動的網(wǎng)站來說,用戶發(fā)布文章、評論文章、簽到等都能為用戶增加積分,而DedeCMS自帶的會員系統(tǒng)并沒有會員簽到增加積分的功能,下面分享這個功能的實現(xiàn)方法,經(jīng)秀站網(wǎng)秀站網(wǎng)測試成功。
1.操作數(shù)據(jù)庫,增加一個字段名為signtime,類型為INT,長度20
也可以利用系統(tǒng)的SQL命令
ALTER TABLE `dede_member` ADD COLUMN `signtime` int(20) NULL
2.增加系統(tǒng)變量;
變量名:cfg_score_sign
變量值:10(根據(jù)自己需要填寫)
變量類型:文本
參數(shù)說明:會員簽到所得積分
所屬組:互動設(shè)置
3.打開/member/templets/index.htm,</head>之前增加以下代碼
<script language='javascript' type='text/javascript'>
function ajaxSign(){
$.ajax({
type:"get",
url:"http://www.vi586.com/member/ajax_sign.php",
data:{uid:<?php echo $cfg_ml->M_ID;?>},time:new Data()},
success:function(data){
alert(data);
if(data !='今日已簽到,請勿重復(fù)提交!' || data !='ERROR'){
location.reload(true);
}
},
});
}
</script>
4.在需要顯示的地方加入
<a href="javascript:ajaxSign();" target="_self">簽到</a><span>(每天簽到,贈送金幣!)</span>
5.建立ajax_sign.php文件,傳到member目錄,PHP文件代碼如下
<?php require_once(dirname(__FILE__).'/config.php'); $uid = isset($uid) ? (int)$uid : ''; AjaxHead();if(!empty($uid)) { $sql = "SELECT * FROM dede_member WHERE `mid`='{$uid}' LIMIT 1"; $dsql->Execute('me',$sql); $arr = $dsql->GetArray('me'); if ($arr) { $signdate = date('Y-m-d', $arr['signtime']); if ($signdate < date('Y-m-d')) { $dsql->ExecuteNoneQuery("UPDATE `dede_member` SET `scores`=`scores`+" . $GLOBALS['cfg_score_sign'] . ", `signtime`='" . time() . "' WHERE `mid`='$uid' LIMIT 1"); echo '簽到成功!積分增加' . $GLOBALS['cfg_score_sign'] . '個'; } else { echo '今日已簽到,請勿重復(fù)提交!'; } } else { //www.vi586.com echo 'ERROR'; } }else{ echo '您還沒有登錄請登錄!'; } ?>