本文织梦58技术小编讲解了织梦会员签到增加积分/金币的功能,非插件,安全无毒,需手动修改文件。
毕竟来路不明的插件也不敢乱用,废话不多说,开整...
一、在页面中引入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();" >[签到]</span>,赠送积分!
三、新增系统变量,用来设置签到所得积分的数量变量名称填:cfg_sign_time
变量类型:数字
参数说明:会员签到积分
所属组:会员设置
变量值:10
点击保存变量即可(变量值10表示签到增加10积分),如下图所示
四、在会员(member)目录新建一个PHP文件,命名为AJAX_sign.PHP,文件内容如下(注意:把代码中的【分隔符】替换为#@,把全角字符‘替换成半角字符'因为我们的编辑器会过滤掉,只能这样了)
<?PHPif( $_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后台编辑器更改为Ueditor
总结以上是内存溢出为你收集整理的DEDEcms织梦系统会员签到功能详解全部内容,希望文章能够帮你解决DEDEcms织梦系统会员签到功能详解所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)