我正在网站上工作,而且我正试图归档"退出"在我的SQL DB中。
我的计划,以及我已经得到的。
用户正在登录,正常方式:用户名和密码。有用。我的SQL DB中有一个users_login_state表,当用户登录时,登录页面会在此表中插入一行,包括用户名,用户ID,日期,时间,令牌等。我得到了这个,这也有效。在LOGOUT上,相反的情况发生:我的页面从表中的列表中删除用户。
每次,用户进行操作,导航,评论等,在该表中的DB中发生更新:时间在特定行中刷新。
我想要实现的目标是:服务器端存储过程:数据库中的作业,反复检查该表的内容,可能每15或30分钟:如果表中有用户&# 39;在过去的15分钟内一直处于非活动状态,并且所有用户都会从此列表中删除,该列表在15分钟前未激活。
更多细节: 我在php中使用这些日期和时间格式:
$date = date("Y-m-d"); // Year - Month - Day
$time = date("h:i:sa");
结果如下:
2017-04-26
和
22:03:46pm
当我在登录时插入登录数据时,我使用以下代码:
$registerThisUserToOnline = mysqli_query($connect, "INSERT INTO users_login_state VALUES ('', '$userMainID', '$user_login', '$loginTpye', '$date', 'NOW()', '$ipAddressData', '$tokencode')");
(我向用户尝试了预先设置的$ time变量,但是我在之前写过时将相同格式的时间插入到表中。
所以我尝试在DB中找到一份工作并尝试在网上找到一些代码(我是存储过程的初学者)
为什么会这样:因为我想制作一个邮件部分,并想要显示"最后一次在线"在用户列表中的时间 - 或者如果在线,"在线",我想避免"卡住"用户登录,当用户登录时,只关闭浏览器而不注销,仍然在数据库中登录。
我很感激在DB中完成这项工作的任何帮助。提前谢谢!