• 技术文章 >后端开发 >PHP问题

    php怎么实现每天积分加一

    藏色散人藏色散人2021-12-16 09:43:18原创281

    php实现每天积分加一的方法:1、在数据表里增加一个字段logintime;2、使用一天中的零时零分零秒和上一次的登录时间进行比较;3、通过“if($lastLogintime < $today) {...}”实现积分增加即可。

    本文操作环境:Windows7系统,PHP7.4版,Dell G3电脑。

    php怎么实现每天积分加一?

    php实现一天多次登录,只积分一次功能:

    在网上找了很多的案例,感觉都差不多,有的还比较的繁琐,就自己尝试了一下,如何实现这个功能

    实现这个功能我在数据表里面增加了一个字段logintime,表示最后一次的登录时间,然后使用一天中的零时零分零秒和上一次的登录时间进行比较,如果上一次的登录时间大于了这个时间点表示已经登陆过,如果上一次的登录时间小于了这个时间点,则表示第一次登录,增加积分

    上代码:

    // 判断是否是一天中第一次登录
    // 上一次登陆的时间
    $lastLogintime = $userinfo['logintime'];
    // 一天中的零时零分零秒
    $today = strtotime(date('Y-m-d'));
    if($lastLogintime < $today) {
        // 一天中第一次登录增加积分(关联更新)
        // 注意:使用关联更新数据的时候需要传递两次id
        $data['id'] = $userinfo['id'];
        $data['userinfo'] = array(
            'points' => $userinfo['points'] + C('LOGIN'),
        );
        $user->relation(true)->where(array('id'=>$userinfo['id']))->save($data);
    }

    需要注意的是还要修改登录时间:

    // 更新登录时间和登录ip
    $updateData = array(
        'id' => $userinfo['id'],
        'userinfo' => array(
            'logintime' => time(),
            'loginip' => getIP(),
        ),
    );
    $user->relation(true)->where(array('id'=>$userinfo['id']))->save($updateData);

    推荐学习:《PHP视频教程

    以上就是php怎么实现每天积分加一的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:php
    上一篇:php怎么判断是不是当天时间段 下一篇:php模板类出乱码怎么办
    20期PHP线上班

    相关文章推荐

    • 【活动】充值PHP中文网VIP即送云服务器• 总结帝国CMS会员登录赠送积分的实现方法• PHP论坛怎么来实现积分系统• 详解PHP论坛实现积分系统的思路代码• css实现领积分动画效果
    1/1

    PHP中文网