当前位置:首页 > 技术教程 > dede技术教程 > 正文内容

DedeCMS织梦实现会员签到加积分互动功能

访客4年前 (2020-11-16)dede技术教程4650

论坛类有会员互动的网站来说,用户发布文章、评论文章、签到等都能为用户增加积分,而DedeCMS自带的会员系统并没有会员签到增加积分的功能,下面分享这个功能的实现方法,经秀站网秀站网测试成功。

1.操作数据库,增加一个字段名为signtime,类型为INT,长度20

也可以利用系统的SQL命令

ALTER TABLE `dede_member` ADD COLUMN `signtime` int(20) NULL

2.增加系统变量;

变量名:cfg_score_sign变量值:10(根据自己需要填写)变量类型:文本参数说明:会员签到所得积分所属组:互动设置

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 !='今日已签到,请勿重复提交!' || 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 '今日已签到,请勿重复提交!'; } } else { //www.vi586.com echo 'ERROR'; } }else{ echo '您还没有登录请登录!'; } ?>
声明:
本站大部分资源收集于网络,只做学习和交流使用,版权归原作者所有。
若您需要使用非免费的软件或服务,请购买正版授权并合法使用!
本站发布的内容若侵犯到您的权益,请联系站长删除,我们将及时处理!

分享给朋友:

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。