diff --git a/html/data_treatment/AJAX/online_users.php b/html/data_treatment/AJAX/online_users.php
index d76ffa588fb647bdd954a421aba4c8faba412208..b367a823b255b8c0e5faa482dcccbeca70967d23 100644
--- a/html/data_treatment/AJAX/online_users.php
+++ b/html/data_treatment/AJAX/online_users.php
@@ -3,16 +3,12 @@
 
 include '../connect_database.php';
 
-// Clean up old sessions before retrieving online user count
 $timeout = 300; // 5 minutes
-$cleanup_sql = "DELETE FROM user_sessions WHERE last_activity < (NOW() - INTERVAL $timeout SECOND)";
-$conn->query($cleanup_sql);
-
 // Retrieve online user count
-$sql = "SELECT COUNT(*) AS online_users FROM user_sessions";
+$sql = "SELECT COUNT(*) AS online_users FROM user_sessions WHERE last_activity > (NOW() - INTERVAL $timeout SECOND)";
 $result = $conn->query($sql);
 
-if ($result->num_rows > 0) {
+if ($result) {
     $row = $result->fetch_assoc();
     echo $row['online_users'];
 } else {
@@ -20,4 +16,4 @@ if ($result->num_rows > 0) {
 }
 
 $conn->close();
-?>
\ No newline at end of file
+?>
diff --git a/html/data_treatment/update_activity.php b/html/data_treatment/update_activity.php
index 97d1f4e9f53817b14d922da32b316c34391b054a..bc9f4abca0c1ca4cb88bb84dce26c3b063f33956 100644
--- a/html/data_treatment/update_activity.php
+++ b/html/data_treatment/update_activity.php
@@ -3,18 +3,31 @@
 
 include 'connect_database.php';
 
+
 if (isset($_SESSION['username'])) {
     $username = $_SESSION['username'];
 
-    // Update user's last activity timestamp
-    $sql = "INSERT INTO user_sessions (username) VALUES ($username)
-            ON DUPLICATE KEY UPDATE last_activity = CURRENT_TIMESTAMP";
-
-    $conn->query($sql);
+    $sql = "SELECT * FROM user_sessions WHERE user_id = ?";
+    $stmt = $conn->prepare($sql);
+    $stmt->bind_param("s", $username);
+    $stmt->execute();
+    $result = $stmt->get_result();
+    $stmt->close();
 
-    // Clean up old sessions (e.g., sessions older than 5 minutes)
-    $timeout = 300; // 5 minutes
-    $cleanup_sql = "DELETE FROM user_sessions WHERE last_activity < (NOW() - INTERVAL $timeout SECOND)";
-    $conn->query($cleanup_sql);
+    if ($result->num_rows > 0) {
+        // User already exists, update last activity timestamp
+        $update_sql = "UPDATE user_sessions SET last_activity = CURRENT_TIMESTAMP WHERE user_id = ?";
+        $update_stmt = $conn->prepare($update_sql);
+        $update_stmt->bind_param("s", $username);
+        $update_stmt->execute();
+        $update_stmt->close();
+    } else {
+        // User doesn't exist, insert a new record
+        $insert_sql = "INSERT IGNORE INTO user_sessions (user_id) VALUES (?)";
+        $insert_stmt = $conn->prepare($insert_sql);
+        $insert_stmt->bind_param("s", $username);
+        $insert_stmt->execute();
+        $insert_stmt->close();
+    }
 }
-?>
\ No newline at end of file
+?>