PHP更新DateTime与会话



我在用户登录时使用以下内容来更新..但是,只有在登录时才有效。.我记住我的功能,如果检查的用户不必登录。。然后它不会更新..

有没有办法使用用户会话ID更新最后一个活动?

$stmt = $db->prepare("UPDATE users SET DateLastVisit = ?");
$stmt->bind_param('s', $Date);
$stmt->execute();
$result = $stmt->get_result();
$stmt->close();

要实现这一目标,您需要将活动与用户ID匹配,因为没有此功能,您最终将更新每个用户记录。

尝试以下操作:

if(!isset($_SESSION)){//check if we already have a session at the moment
  session_start();
}
    $user_id = $_SESSION['id'];//change to your session id key
    $stmt = $db->prepare("UPDATE users SET DateLastVisit = ? WHERE id_user = ?");//change id_user to what you have in your database
/*always check whether the prepare() succeeded */
if ($stmt === false) {
  trigger_error($db->error, E_USER_ERROR);
}
    $stmt->bind_param('si', $Date, $user_id); // we bind the user_id as well
    $stmt->execute(); //execute, returns true/false
    $result = $stmt->get_result();
    $stmt->close();

当用户登录时,为此用户设置一个令牌,然后给出这个令牌TTL,将其保存到表格中。一个新的令牌和ttl。

最新更新