一、在需要签到的地方显示签到按钮或者链接例如:
二、为签到按钮或者链接编写异步脚本:
$(function () {
$('#_sign_btn').click(function sign () {
$.ajax({
type: "POST",
url: "/member/sign.php", //sign.php是自定义新建的,下面会介绍
success: function(data) {
alert(data);
}
});
});
});
三、增加配置项并更改数据库表:
1,增加配置项,方便随时修改每次签到赠送的数值
分别在后台点击系统-系统基本参数-添加新变量,分别添加
①变量名称:cfg_sign_score
变量类型:数字
参数说明:签到送积分数值
变量值:10(这里改成你需要赠送的数值)
所属组:站点设置(这里根据自己需要分组)
②变量名称:cfg_sign_money
变量类型:数字
参数说明:签到送金币数值
变量值:10(这里改成你需要赠送的数值)
所属组:站点设置(这里根据自己需要分组)
2,修改#@__member数据表,记录签到时间,防止每日多次签到
增加 sign_time 字段,类型 int(10)即可,修改方式不具体说了
四、在目录/member/sign.php文件处理签到,内容如下:
/**
* Created by PhpStorm.
* User:
* Project Name:
* Date: 2018/10/6/0006
* Time: 2:07
*/
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 : '';
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['sign_time']);
if ($signdate < date('Y-m-d')) {
$dsql->ExecuteNoneQuery("UPDATE `#@__member` SET `scores`=`scores`+ $cfg_sign_score,`money`=`money`+$cfg_sign_money , `sign_time`='" . time() . "' WHERE `mid`='{$uid}' LIMIT 1");
echo '签到成功!增加 '.$cfg_sign_score.' 积分,'.'增加 '.$cfg_sign_money.' 金币';
} else {
echo '今天已经签到,休息一下,明天再来吧!';
}
} else {
echo '错误!';
}
}else{
echo '请先登录!';
}
五、完成,看签到的效果吧:
原文链接:http://www.68sucai.cn/html/xueyuan/dede/kaifa/2018100834.html
我的微信:graent_hu
欢迎扫码加我的微信好友,有什么问题我们可以一起探讨,有什么需要也随时欢迎发消息给我~
转载请注明出处:
本文链接:https://www.wlyc.cn/post-155.html