小细节每天登陆第一次送积分

2016-07-07 15:00 来源:www.chinab4c.com 作者:ecshop专家

  1. if((date('Y-m-d',$row['last_login'])!==date('Y-m-d',gmtime()))&&((gmtime()>$row['last_login']))){
  2. $sql = "UPDATE " .$GLOBALS['ecs']->table('users'). " SET".
  3. " rank_points = rank_points + 1 ".
  4. " WHERE user_id = '" . $_SESSION['user_id'] . "'";
  5. $GLOBALS['db']->query($sql);
  6. }
复制代码
将上面的代码加入includes文件夹下的lib_main.php中的update_user_info()函数里面的if ($row = $GLOBALS['db']->getRow($sql))
{句话下面,上面的+1可以自己随便调整,这个值就是添加的积分值

回答:
这个修改反复登录都会赠送积分的。要设置成一天赠送一次才行啊

不会反复登录都会赠送的,我测试过的才共享上来的哦,判断要满足两个条件,一个是当时时间和最后登录时间不相等,他这里是精确到日的,而且确保登录时间在当前时间之前

这个好啊~多谢了。




可是我测试的结果是会反复增加的,能给个站测试?

测试不成功。没有反应!


上面是**作的全部截图,这里稍微讲下,第一步用DW搜索functio update_user_info函数,这个函数在用户登录的时候会调用到,用来更新登录ip登录时间等,在
  1. " ON b.type_id = ub.bonus_type_id AND b.use_start_date <= '$time' AND b.use_end_date >= '$time' ".
  2. " WHERE u.user_id = '$_SESSION[user_id]'";
  3. if ($row = $GLOBALS['db']->getRow($sql))
  4. {
复制代码
下面另起一行加入,
  1. if((date('Y-m-d',$row['last_login'])!==date('Y-m-d',gmtime()))&&((gmtime()>$row['last_login']))){
  2. $sql = "UPDATE " .$GLOBALS['ecs']->table('users'). " SET".
  3. " pay_points = pay_points + 10 ".
  4. ", rank_points = rank_points + 10 ".
  5. " WHERE user_id = '" . $_SESSION['user_id'] . "'";
  6. $GLOBALS['db']->query($sql);
  7. }
复制代码
,然后保存,然后去后台找一个在今天没有登录过的账号,在登录之前记得看下会员的等级和消费积分,然后登录,如果你的操作无误就会和我上面的截图一样在后台可以看到会员的等级和消费积分都增加了10,然后退出在登录,发现没有再次添加,这里提示一下,新注册的账号不适用与测试,因为新注册的账号的最后登录时间和当前时间是一样的,我这里的判断是精确到日的,也就是说尽量用老账号今天没有登录过的,或者注册的新账号第二天在测试,如果谁还有问题可以联系我qq372985762

擦,图片怎么不见了,需要该功能的可以联系我帮你们弄,交个朋友不收费