我想在每个页面更新最后一个动作的时间,它应该在哪里


I want to update the last action's time in every page, where should it be?

我尝试使用MVC架构来创建我的项目。我想更新最后一个动作的时间用户在每个页面。

我可以在footer。php中加入这样的代码:

update_query("users", "time=NOW()", "WHERE userId = {$_SESSION['id']}");

所以每次用户刷新任何页面,他的时间都会更新。很明显,把它放在视图中不是好的做法。那么,我该怎么办呢?谢谢你。

我认为你的思路是对的。我会把它放在footer.php或任何显示在每个页面上的代码-可能是一个common.php或认证后发生的事情。

我不会为此使用AJAX,因为它是对服务器/数据库的额外调用,这是不必要的。我尽量把对服务器的查询保持在最低限度。

另外,请确保对输入进行了消毒(在将$_SESSION['id']插入数据库之前,将其设置为int),这将消除查询中任何可能的安全问题。

update_query('users', 'time=NOW()', 'WHERE userId = ' . (int) $_SESSION['id']);