长沙网站建设:织梦会员签到功能如何实现
文章来源:青云网站建设 作者:青云有梦 发布时间:2019-03-07 20:08:36 返回列表
本文讲解了织梦会员签到增加积分/金币的功能,非插件,安全无毒,需手动修改文件。毕竟来路不明的插件也不敢乱用,废话不多说,开整...
一、在页面中引入ajax代码:
script language= javascript
function ajax_sign() {
$.ajax({
type: POST ,
url: /member/ajax_sign.php ,
success: function(data) {
alert(data);
}
});
}
/script
二、在需要签到按钮的地方增加:
每天 span quot;ajax_sign(); >
三、新增系统变量,用来设置签到所得积分的数量
变量名称填:cfg_sign_time
变量类型:数字
参数说明:会员签到积分
所属组:会员设置
变量值:10
点击保存变量即可(变量值10表示签到增加10积分),如下图所示
四、在会员(member)目录新建一个php文件,命名为ajax_sign.php,文件内容如下(注意:把代码中的【分隔符】替换为#@,把全角字符 替换成半角字符 因为我们的编辑器会过滤掉,只能这样了)
?php
if( $_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_ 进行替换
执行成功后如下