论坛类有会员互动的网站来说,用户发布文章、评论文章、签到等都能为用户增加积分,而dedecms自带的会员系统并没有会员签到增加积分的功能,下面分享这个功能的实现方法,经织梦58测试成功。
也可以利用系统的SQL命令
ALTER TABLE `dede_member` ADD COLUMN `signtime` int(20) NULL
变量名:cfg_score_sign变量值:10(根据自己需要填写)变量类型:文本参数说明:会员签到所得积分所属组:互动设置
<script language='javascript' type='text/javascript'> function ajaxSign(){ $.ajax({ type:"get", url:"http://www.dede58.com/member/ajax_sign.php", data:{uid:<?php echo $cfg_ml->M_ID;?>},time:new Data()}, success:function(data){ alert(data); if(data !='今日已签到,请勿重复提交!' || data !='ERROR'){ location.reload(true); } }, });}</script>
<a href="javascript:ajaxSign();" target="_self">签到</a><span>(每天签到,赠送金币!)</span>
<?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 '今日已签到,请勿重复提交!'; } } else { //www.vi586.com echo 'ERROR'; } }else{ echo '您还没有登录请登录!'; } ?>
新闻热点
疑难解答