欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

平忠判断用户今天第一次登录的方法 通过 accesslog 表 有大用

shiping1 的头像
本来是想通过 $user->login(判断是否第一次登录,
但是假如用户昨天并没有退出,换句话说,今天不需要重
新登录的话 那么 $user->login 的数据----也就是登录时间
就没有变化,所以用 $user->login 是不对的)
只好用rules中的 user is going to view a page 事件
而不是使用 用户已登录 事件 



//这是判断用户的每天的第一次登录 的 rule 条件
function judge_first_login_everyday()
{
    global $user;
    $todayStart = strtotime(date('Y-m-d'));
    //假如是未登录用户的话 就返回假
    if($user->uid<=0)
    {
        return false;
    }
    $accessCount = db_result(db_query("select count(timestamp) from {accesslog} where uid=%d and timestamp>=%d ",$user->uid,$todayStart));
    $accessCount = intval($accessCount);
    //假如当前这个页面的访问时间大于当前天的0点0时0分;
    //假如次数等于1,就是第一次访问
    if($accessCount===1){
        return true;
    }
    else{//就说明今天已经访问过了,就让条件变假了 换句话说,就是不让它增加积分了
        return false;
    }
    
}
普通分类: