找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 198|回复: 0

[cms教程] 织梦dede会员签到功能(非插件)

[复制链接]

该用户从未签到

发表于 2021-9-9 14:55:39 | 显示全部楼层 |阅读模式

您需要 登录 才可以下载或查看,没有账号?立即注册

×
本文讲解了织梦会员签到增加积分/金币的功能,非插件,安全无毒,需手动修改文件。毕竟来路不明的插件也不敢乱用,废话不多说,开整...
         
        一、在页面中引入ajax代码:
       
       
               
                       
                               
                                       
                               
                       
               
       

        二、在需要签到按钮的地方增加:
         
        每天[签到,,赠送积分!
         
        三、新增系统变量,用来设置签到所得积分的数量
         
        变量名称填:cfg_sign_time
        变量类型:数字
        参数说明:会员签到积分
        所属组:会员设置
        变量值:10
         
        点击保存变量即可(变量值10表示签到增加10积分),如下图所示
       
       

                               
登录/注册后可看大图


       
        四、在会员(member)目录新建一个php文件,命名为ajax_sign.php,文件内容如下(注意:把代码中的【分隔符】替换为#@)
       
       
               
                       
                               
                                       
M_ID;//获取当前登录会员的ID
$time = time();//获取当前的时间戳
$uid = isset($uid) ? (int) $uid : '';
//$cfg_sign_time = "10";//如果忽略了本文的第三个步骤,可以用这行代码直接指定签到+10积分
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 ExecuteNoneQuery("UPDATE `【分隔符】__member` SET `scores`=`scores`+ $cfg_sign_time , `signtime`='" . time() . "' WHERE `mid`='{$uid}' LIMIT 1");
            echo '签到成功!增加 '.$cfg_sign_time.' 积分';
        } else {
            echo '今天已经签到,休息一下,明天再来吧!';
        }
    } else {
        echo '错误!';
    }
}
                               
                       
               
       

        五、在数据库中新增一个字段,用来储存会员签到的时间,找到数据库中的dede_member表(dede_是你的表前缀,请自行替换)
         
        新增字段:signtime
        类型为:int
        长度值:10
         
        保存即可。
         
        如果你的服务器没有安装数据库管理软件,也可以在织梦后台执行sql语句新增字段
         
        系统 >> SQL命令行工具 >> 执行下面的sql语句
       
       
               
                       
                               
                                       
alter table dede_member add signtime int(10)
                               
                       
               
       

        注意:dede_member是官方默认的数据表,如果你的程序更改了数据表前缀,那么就需要把 dede_ 进行替换
         
        执行成功后如下
       
       

                               
登录/注册后可看大图
回复

使用道具 举报

网站地图|页面地图|文字地图|Archiver|手机版|小黑屋|找资源 |网站地图

GMT+8, 2024-10-10 17:29

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表