DEDECMS会员签到加积分如何实现

很多使用DEDECMS系统的朋友都在寻找这样一种插件,会员可以在会员中心每日签到获得积分,从而增加网站的互动性。但是官方一直没有放出类似插件,无奈,我们只有自己开发了。其实也不难,下面请看如何操作。
1.首先确定你已经安装好了dede源码,并安装好phpmyadmin数据库。这个可以自己百度具体的安装方法。

2.修改模板页面member\templets\index.htm头部加入js

 

<script language="javascript">function ajaxSign() {$.ajax({type:"get",url:"ajax_sign.php",data:{uid:'<?php echo $cfg_ml->M_ID;?>',time:new Date()},success:function(data){alert(data);if (data != '今日已签到,请勿重复提交!' || data != 'ERROR') {location.reload(true);}}});}</script>

 

然后在需要显示的部分 加入<a href="javascript:ajaxSign();" target="_self">签到</a><span>( 每天签到,赠送金币!)</span>

3.上传ajax_sign.php到member目录(可以自己建立个文本文件然后复制以下内容到文本文件里,最后该文件改名为ajax_sign.php,注意后缀名)

ajax_sign.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 {  echo 'ERROR'; }}

4.打开phpmyadmin,(不会用数据库的自己百度。最简单的方法,去百度一下phpadmin软件下载解压到网站根目录,然后在浏览器输入http://你的网址/phpmyadmin,PS:具体文件名和路径自己查找)

5.在dede_member中增加一个字段 如图:

DEDECMS会员签到加积分如何实现






6.点击执行后,在新出现的页面中添加字段名为:signtime 类型为INT 长度值为:12 然后点击保存

7.这是最后一步,也是关键的一步: 在系统基本设置 增加新的 积分设定 如图:
DEDECMS会员签到加积分如何实现




8.变量名称填:cfg_score_sign

变量类型:文本

参数说明:会员签到所得积分

所属组:互动设置

设置完成后点击 保存变量即可

5.接下来进入系统——系统基本参数——互动设置里找到会员签到所得积分项,

DEDECMS会员签到加积分如何实现