DEDE织梦会员签到功能

再过一两夜,秋霜在月下布满山谷,然后退回到北面群山那边稍作停留,好让金黄的初秋温柔地抚慰大地。轻微的茴香气息弥漫在天空中。还有金菊的芬芳气味。雾气翻腾,被九月的月色冲破,露出一片蔚蓝色的天空。

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

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

<scriptlanguage="javascript">
functionajax_sign(){
$.ajax({
type:"POST",
url:"/member/ajax_sign.php",
success:function(data){
alert(data);
}
});
}
</script>

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

每天<spanonclick="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.1404NotFound");
header("Status:404NotFound");
exit;
};

require_oncedirname(__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【分隔符】__memberWHERE`mid`='{$uid}'LIMIT1";
$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}'LIMIT1");
echo'签到成功!增加'.$cfg_sign_time.'积分';
}else{
echo'今天已经签到,休息一下,明天再来吧!';
}
}else{
echo'错误!';
}
}
?>

五、在数据库中新增一个字段,用来储存会员签到的时间,找到数据库中的dede_member表(dede_是你的表前缀,请自行替换)

新增字段:signtime 类型为:int 长度值:10

保存即可。

如果你的服务器没有安装数据库管理软件,也可以在织梦后台执行sql语句新增字段

系统 >> SQL命令行工具 >> 执行下面的sql语句

altertabledede_memberaddsigntimeint(10)

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

执行成功后如下

blob.png

到此这篇关于DEDE织梦会员签到功能就介绍到这了。你不勇敢,没人替你坚强。更多相关DEDE织梦会员签到功能内容请查看相关栏目,小编编辑不易,再次感谢大家的支持!

您可能有感兴趣的文章
dedecms如何实现任意页面调用当前会员信息的方

织梦dede:tag调用指定多个栏目的TAG标签

DedeCMS织梦判断是否有二级栏目输出HTML代码

织梦dede数据还原更新缓存也生成了为什么首页不对

织梦dede文档置顶并显示置顶文字或图标