介入正题,
在我们往常接触到的项目中基本上都会有让判别用户是否第一次登录的事务。包含,新用户第一次登录和用户当天初次登陆两种。
作为小白的我,第一次碰到这个多少有点懵逼,但是我定神静思,就想出来一个办法。
1.判别该用户是第一次登陆该网站(或APP)
办法:在user表中增加first_time字段,默认为1,表示第一次登录,在每次登录的时候,对该字段进行sql语句查询,得到“first_time = 1” ,然后确定该用户是第一次登录。然后把该字段的值更新为2。也就变成了老用户。
2.判别该用户是当天第一次登录该网站
这个事务我们在平常也是经常碰到的,比如每天初次登录某个网站会给用户积分赠送。
办法:在user表中增加“last_login_time”,其中寄存前次登录时间的时间戳,在用户暗码输入正确后,进行判别是否是当天第一次登陆。利用getdate()函数,得到当天的年份和当天是所在年份的天数。 然后再获得“last_login_time”的年份和天数,进行比较。
//判别是否当天第一次登陆
$now = getdate();
$now_login_year = $now[‘year’];
$now_login_day = $now[‘yday’];
d b l a s t l o g i n t i m e = D b : : n a m e ( ′ u s e r ′ ) − > w h e r e ( ′ s c h o o l n u m ′ , db_last_login_time = Db::name('user') ->where('schoolnum', db