本文讲解了织梦会员签到增加积分/金币的功能,非插件,安全无毒,需手动修改文件。毕竟来路不明的插件也不敢乱用,废话不多说,开整...
一、在页面中引入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_ 进行替换
执行成功后如下
到此这篇关于DEDE织梦会员签到功能就介绍到这了。你不勇敢,没人替你坚强。更多相关DEDE织梦会员签到功能内容请查看相关栏目,小编编辑不易,再次感谢大家的支持!