以下を使用して、ユーザーがログインしたときに更新します。ただし、これは、ユーザーがログインした場合にのみ機能します。rememberme機能があり、チェックしたユーザーがログインする必要がない場合は、更新されません。
ユーザーのセッション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();
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加