• 全国400电话网上服务平台
    强大号码库资源任选,方便,快捷,快速开通。
    咨询热线:400-1100-266  

    织梦会员签到功能(非插件)
    POST TIME:2021-05-24 03:11

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

    一、在页面中引入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积分),如下图所示

     

     

    四、在会员(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_ 进行替换

    执行成功后如下


    
    关于我们 | 付款方式 | 建站知识 | 增值服务 | 网站模板
    Copyright © 2003-2016
    时间:9:00-21:00 (节假日不休)
    版权所有:巨人网络(扬州)科技有限公司
    总部地址:江苏省信息产业基地11号楼四层
    《增值电信业务经营许可证》 苏B2-20120278
    X

    截屏,微信识别二维码

    微信号:veteran88

    (点击微信号复制,添加好友)

     打开微信

    微信号已复制,请打开微信添加咨询详情!