dede织梦系统会员签到功能实现

所属分类: CMS教程 / dedecms 阅读数: 687
收藏 0 赞 0 分享

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

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

一、在页面中引入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列表页标题title后加上页数其标题不重复的方法

在列表页的标题后加上页数使列表页的标题不重复这样更利于优化,下面是从搜索整理的解决方法,有类似需求的朋友可以参考下,希望对大家有所帮助
收藏 0 赞 0 分享

解决Dedecms生成RSS地图地址出错全都多了一个网址的问题

DEDE织梦CMS生成RSS地图全都多了一个网址,这种情况下,就是域名被重复生成了一次,导至RSS地址出错。其实对于这个BUG,处理方法很简单,有类似情况的朋友可以了解下本文
收藏 0 赞 0 分享

dede调取三级栏目名及栏目下的内容列表的方法

网站根据需要,把地区划成省-市-文章的层级结构,正如标题所言dede怎么调取三级栏目名及栏目下的内容列表,具体的实现如下,感兴趣的朋友可以参考下
收藏 0 赞 0 分享

DEDE模板中如何运行php脚本和变量在需要操作数据库字段时

经常会需要直接对dede数据库的底层字段进行处理,如果dede中没有相应的函数,那么我们就要使用其他的方法来实现了,正如标题所言的运行php脚本和php变量,下面有个不错的示例,感兴趣的朋友可以参考下
收藏 0 赞 0 分享

dedecms二次开发时使用{dede:arclist},{dede:list}获取附加表字段内容

以前用织梦DEDECMS做二次开发时获取附加表字段内容都是通过runphp执行SQL查询获得,不过最近发现个不错的方法,大家可以学习下
收藏 0 赞 0 分享

DEDECMS网站文章列表页更新点击次数的问题完美解决

如何在DEDECMS的网站里,当浏览文章时,自动增加一次点击次数;而显示文章列表时,则仅显示点击量(不增加点击次数),具体实现如下,感兴趣的朋友可以参考下
收藏 0 赞 0 分享

解析DedeCms中data目录下的sessions是什么文件

以下是对DedeCms中data目录下的sessions是什么文件,进行了详细的介绍,需要的朋友可以参考下
收藏 0 赞 0 分享

dedecmsV5.7版 tag标签长度的修改方法详解

在dede程序中,很多时候替换的标签长度为12个字节也就是6个汉字非常的不够我们使用怎么办呢?这时我们可以简单的修改一下dedecms一些代码即可解决,需要的朋友可以参考下
收藏 0 赞 0 分享

浅析DedeCMS投票模块漏洞的解决方法

DedeCMS投票模块有朋友反映投票主题的选项经常被sql注入删除,经过脚本之家小编查看代码发现投票模块代码没有对sql参数进行转换,导致不法分子sql注入。只要将addslashes()改为mysql_real_escape_string()即可
收藏 0 赞 0 分享

解析织梦DedeCMS图片按月存放的实现方法

采集文稿的图片总是按日存放,如何以年月存放?以下就是对织梦DedeCMS图片按月存放的实现方法进行了详细的分析介绍,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多