這篇文章主要為大家介紹了DEDECMS會(huì)員簽到加積分的實(shí)現(xiàn)方法,設(shè)計(jì)Ajax的使用與對(duì)應(yīng)數(shù)據(jù)庫(kù)的操作,需要的朋友可以參考下
本文實(shí)例講述了DEDECMS會(huì)員簽到加積分的實(shí)現(xiàn)方法。分享給大家供大家參考。具體實(shí)現(xiàn)方法如下:
1、修改模板頁(yè)面member\templets\index.htm頭部加入js:
代碼如下:
<script language="javascript" type="text/javascript">
function ajaxSign() {
$.ajax({
type:"get",
url:"http://www.jb51.net/member/ajax_sign.php",
data:{uid:<?php echo $cfg_ml->M_ID;?>,time:new Date()},
success:function(data){
alert(data);
if (data != '今日已簽到,請(qǐng)勿重復(fù)提交!' || data != 'ERROR') {
location.reload(true);
}
},
});
}
</script>
2、然后在需要顯示的部分加入:
代碼如下:
<a href="javascript:ajaxSign();" target="_self">簽到</a><span>( 每天簽到,贈(zèng)送金幣!)</span>
3、上傳ajax_sign.php到member目錄,可以自己建立個(gè)文本文件然后復(fù)制以下內(nèi)容到文本文件里,最后該文件改名為ajax_sign.php,注意后綴名.
ajax_sign.php文件的內(nèi)容為:
代碼如下:
<?php
require_once(dirname(__FILE__).'/config.php');
$uid = isset($uid) ? (int)$uid : '';
AjaxHead();if(!emptyempty($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'] . '個(gè)'; } else { echo '今日已簽到,請(qǐng)勿重復(fù)提交!'; }
} else { //phpfensi.com
echo 'ERROR';
}
}else{
echo '您還沒(méi)有登錄請(qǐng)登錄!';
}
?>
4、在dede_member中增加一個(gè)字段段名為:signtime 類(lèi)型為INT 長(zhǎng)度值為:12
5、 在系統(tǒng)基本設(shè)置 增加新的 變量:
變量名稱(chēng)填:cfg_score_sign
變量類(lèi)型:文本
參數(shù)說(shuō)明:會(huì)員簽到所得積分
所屬組:互動(dòng)設(shè)置
設(shè)置完成后點(diǎn)擊 保存變量即可
希望本文所述對(duì)大家的dedecms二次開(kāi)發(fā)有所幫助。