• 售前

  • 售后

热门帖子
入门百科

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

[复制链接]
幸福341 显示全部楼层 发表于 2021-8-18 01:58:14 |阅读模式 打印 上一主题 下一主题
本文织梦脚本之家技术小编讲解了织梦会员签到增加积分/金币的功能,非插件,安全无毒,需手动修改文件。
究竟来路不明的插件也不敢乱用,废话不多说,开整...
一、在页面中引入ajax代码:
  1. <script language="javascript">
  2.   function ajax_sign() {
  3.     $.ajax({
  4.       type: "POST",
  5.       url: "/member/ajax_sign.php",
  6.       success: function(data) {
  7.         alert(data);
  8.       }
  9.     });
  10.   }
  11. </script>
复制代码
二、在必要签到按钮的地方增加:

每天<span onclick="ajax_sign();" style="cursor:pointer;">[签到]</span>,赠送积分!
三、新增体系变量,用来设置签到所得积分的数量

变量名称填:cfg_sign_time
变量范例:数字
参数说明:会员签到积分
所属组:会员设置
变量值:10
点击生存变量即可(变量值10体现签到增加10积分),如下图所示

四、在会员(member)目次新建一个php文件,定名为ajax_sign.php,文件内容如下(注意:把代码中的【分隔符】更换为#@,把全角字符‘更换成半角字符'由于我们的编辑器会过滤掉,只能如许了)
  1. <?php
  2. if( $_SERVER['HTTP_REFERER'] == "" )//判断规则,禁止直接运行此php文件
  3. {
  4. header("HTTP/1.1 404 Not Found");
  5. header("Status: 404 Not Found");
  6. exit;
  7. };
  8. require_once dirname(__FILE__) . '/config.php';
  9. $uid = $cfg_ml->M_ID;//获取当前登录会员的ID
  10. $time = time();//获取当前的时间戳
  11. $uid = isset($uid) ? (int) $uid : '';
  12. //$cfg_sign_time = "10";//如果忽略了本文的第三个步骤,可以用这行代码直接指定签到+10积分
  13. AjaxHead();
  14. if (!empty($uid)) {
  15.     $sql = "SELECT * FROM 【分隔符】__member WHERE `mid`='{$uid}' LIMIT 1";
  16.     $dsql->Execute('me', $sql);
  17.     $arr = $dsql->GetArray('me');
  18.     if ($arr) {
  19.         $signdate = date('Y-m-d', $arr['signtime']);
  20.         if ($signdate < date('Y-m-d')) {
  21.             $dsql->ExecuteNoneQuery("UPDATE `【分隔符】__member` SET `scores`=`scores`+ $cfg_sign_time , `signtime`='" . time() . "' WHERE `mid`='{$uid}' LIMIT 1");
  22.             echo '签到成功!增加 '.$cfg_sign_time.' 积分';
  23.         } else {
  24.             echo '今天已经签到,休息一下,明天再来吧!';
  25.         }
  26.     } else {
  27.         echo '错误!';
  28.     }
  29. }
  30. ?>
复制代码
据库中新增一个字段,用来储存会员签到的时间,找到数据库中的dede_member表(dede_是你的表前缀,请自行更换)
新增字段:signtime
范例为:int
长度值:10
生存即可。
如果你的服务器没有安装数据库管理软件,也可以在织梦后台实行sql语句新增字段
体系 >> SQL命令行工具 >> 实行下面的sql语句
alter table dede_member add signtime int(10)
注意:dede_member是官方默认的数据表,如果你的步调更改了数据表前缀,那么就必要把 dede_ 进行更换

以上就是本次先容的全部相干知识点,感谢各人的学习和对脚本之家的支持。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

帖子地址: 

回复

使用道具 举报

分享
推广
火星云矿 | 预约S19Pro,享500抵1000!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

草根技术分享(草根吧)是全球知名中文IT技术交流平台,创建于2021年,包含原创博客、精品问答、职业培训、技术社区、资源下载等产品服务,提供原创、优质、完整内容的专业IT技术开发社区。
  • 官方手机版

  • 微信公众号

  • 商务合作