本站源码全部测试通过,配有前台及后台演示图,绿色安全,希望能对大家有所帮助!
  • 首 页
  • VPS/云主机
  • VIP会员
  • DEDEcms织梦系统会员签到功能详解
    时间:2019-12-04 20:29 来源:开源之家 作者:转载大师

    本文小编讲解了织梦会员签到增加积分/金币的功能,非插件,安全无毒,需手动修改文件。

    毕竟来路不明的插件也不敢乱用,废话不多说,开整...

    一、在页面中引入ajax代码:

    <script language="javascript">

      function ajax_sign() {

        $.ajax({

          type: "POST",

          url: "/member/ajax_sign.php",

          success: function(data) {

            alert(data);

          }

        });

      }

    </script>

    二、在需要签到按钮的地方增加:

    每天<span onclick="ajax_sign();" style="cursor:pointer;">[签到]</span>,赠送积分!

    三、新增系统变量,用来设置签到所得积分的数量

     

    变量名称填:cfg_sign_time

    变量类型:数字

    参数说明:会员签到积分

    所属组:会员设置

    变量值:10

     

    点击保存变量即可(变量值10表示签到增加10积分),如下图所示

    DEDEcms织梦系统会员签到功能详解

     

    四、在会员(member)目录新建一个php文件,命名为ajax_sign.php,文件内容如下(注意:把代码中的【分隔符】替换为#@,把全角字符‘替换成半角字符'因为我们的编辑器会过滤掉,只能这样了)

    <?php

    if( $_SERVER['HTTP_REFERER'] == "" )//判断规则,禁止直接运行此php文件

    {

    header("HTTP/1.1 404 Not Found");

    header("Status: 404 Not Found");

    exit;

    };

     

    require_once dirname(__FILE__) . '/config.php';

    $uid = $cfg_ml->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 < date('Y-m-d')) {

                $dsql->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_ 进行替换

     

    执行成功后如下。

    转载请注明来源:DEDEcms织梦系统会员签到功能详解
    本文永久链接地址:https://www.enboo.cn/CMSjiaocheng/DEDEjiaocheng/17587.html
    本文标签:

    版权声明:
    —— 本文内容由互联网用户自发贡献, 本站不拥有所有权, 不承担相关法律责任, 如果发现本站有涉嫌抄袭的内容, 欢迎发送邮件至 :
    —— 2225329841@qq.com 举报, 并提供相关证据, 一经查实, 本站将立刻删除涉嫌侵权内容。

    开源之家广告栏目A
    开源之家广告栏目B
    开源之家广告栏目C
    在线客服
    客服微信

    扫一扫......加客服微信