DEDECMS会员签到加积分的实现方法

这篇文章主要为大家介绍了DEDECMS会员签到加积分的实现方法,设计Ajax的使用与对应数据库的操作,需要的朋友可以参考下

本文实例讲述了DEDECMS会员签到加积分的实现方法。分享给大家供大家参考。具体实现方法如下:

1、修改模板页面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 != '今日已签到,请勿重复提交!' || data != 'ERROR') {

location.reload(true);

}

},

});

}

</script>

2、然后在需要显示的部分加入:

代码如下:

<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(!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'] . '个'; } else { echo '今日已签到,请勿重复提交!'; }

} else { //phpfensi.com

echo 'ERROR';

}

}else{

echo '您还没有登录请登录!';

}

?>

4、在dede_member中增加一个字段段名为:signtime 类型为INT 长度值为:12

5、 在系统基本设置 增加新的 变量:

变量名称填:cfg_score_sign

变量类型:文本

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

所属组:互动设置

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

希望本文所述对大家的dedecms二次开发有所帮助。

支付宝扫码打赏 微信扫码打赏

如果本文对你有帮助,欢迎打赏本站

喜欢 ()or分享
    匿名评论
  • 评论
人参与,条评论