原文来自:https://www.zixuephp.com
DEDECMS会员签到加积分如何实现
1、修改模板页面member\templets\index.htm头部加入js:
- <scriptlanguage="javascript"type="text/javascript">
- functionajaxSign(){
- $.ajax({
- type:"get",
- url:"http://www.phpfensi.com/member/ajax_sign.php",
- data:{uid:<?phpecho$cfg_ml->M_ID;?>,time:newDate()},
- success:function(data){
- alert(data);
- if(data!='今日已签到,请勿重复提交!'||data!='ERROR'){
- location.reload(true);
- }
- },
- });
- }
- </script>
2、然后在需要显示的部分加入<a href="javascript:ajaxSign();" target="_self">签到</a><span>( 每天签到,赠送金币!)</span>
3、上传ajax_sign.php到member目录,可以自己建立个文本文件然后复制以下内容到文本文件里,最后该文件改名为ajax_sign.php,注意后缀名.
ajax_sign.php文件的内容为:
- <?php
- require_once(dirname(__FILE__).'/config.php');
- $uid=isset($uid)?(int)$uid:'';
- AjaxHead();if(!emptyempty($uid)){
- $sql="SELECT*FROMdetest_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`detest_member`SET`scores`=`scores`+".$GLOBALS['cfg_score_sign'].",`signtime`='".time()."'WHERE`mid`='$uid'LIMIT1");
- echo'签到成功!积分增加'.$GLOBALS['cfg_score_sign'].'个';}else{echo'今日已签到,请勿重复提交!';}
- }else{//phpfensi.com
- echo'ERROR';
- }
- }else{
- echo'您还没有登录请登录!';
- }
- ?>
4、在dede_member中增加一个字段段名为:signtime 类型为INT 长度值为:12
5、 在系统基本设置 增加新的 变量:
变量名称填:cfg_score_sign
变量类型:文本
参数说明:会员签到所得积分
所属组:互动设置
设置完成后点击 保存变量即可