加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > CMS系统 > Dedecms > 正文

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

发布时间:2020-12-14 04:15:29 所属栏目:Dedecms 来源:网络整理
导读:本文织梦58技术小编讲解了织梦会员签到增加积分/金币的功能,非插件,安全无毒,需手动修改文件。 毕竟来路不明的插件也不敢乱用,废话不多说,开整... 一、在页面中引入ajax代码: script language="javascript" function ajax_sign() { $.ajax({ type: "POST"

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

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

一、在页面中引入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_ 进行替换

?

执行成功后如下。

上一篇:织梦自定义表单提交成功后跳转页面

下一篇:将织梦dedecms后台编辑器更改为Ueditor

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读