dedecms签到领积分功能

admin8年前分享737
1、修改模板页面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>/
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(!empty($uid)) {    $sql = "SELECT * FROM #@__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 `#@__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:具体文件名和路径自己查找) 在dede_member中增加一个字段 signtime 类型为INT 长度值为:12 5、 这是最后一步,也是关键的一步: 在系统基本设置 增加新的 积分设定 : 变量名称填:cfg_score_sign 变量类型:文本 参数说明:会员签到所得积分 所属组:互动设置 设置完成后点击 保存变量即可          
aaaaaaaa

评论列表

李尼美
2015-12-21 13:20:52

:mrgreen:

发表评论    

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