我有一个网站,人们可以登录,注销等。我想只能登录1台设备,所以如果您使用相同的帐户登录,请说出您的手机,它会给出已登录的错误左右。
所以我已经想出要做一个"在线"我将在每个用户的登录和浏览页面上更新为1的表,但是如果有人离开页面而没有注销,我将如何将其设为0?我听说有人在谈论MySQL计时器功能,但它是如何工作的?因此,在300秒左右不活动后,它将在线设置为0。
答案 0 :(得分:1)
通常,每次用户执行表明它们处于活动状态的操作时,或者可能通过某种常规的AJAX调用来更新数据库中的记录,这表明他们至少打开了页面。< / p>
通常采用以下形式:
UPDATE users SET visited_at=NOW() WHERE id=?
您可以根据您拥有的会话信息为该值提供用户ID。
答案 1 :(得分:0)
据我所知,您可以尝试创建一个列&#34; isLogged&#34;在数据库中并将其设置为true或false。当用户启动或结束会话时。