| <?php |
| |
| session_start(); |
| include_once 'db.php'; |
|
|
| |
| $user_id = $_SESSION['user_id'] ?? null; |
| $session_id = $_SESSION['session_id'] ?? null; |
|
|
| |
| if ($user_id && $session_id && isset($sessionManager)) { |
| try { |
| $ip_address = $_SERVER['REMOTE_ADDR'] ?? 'unknown'; |
| $user_agent = $_SERVER['HTTP_USER_AGENT'] ?? 'unknown'; |
| $sessionManager->logActivity($user_id, 'logout', 'User logged out', $ip_address, $user_agent); |
| |
| |
| if ($db) { |
| $query = "UPDATE user_sessions SET is_active = 0 WHERE session_id = :session_id"; |
| $stmt = $db->prepare($query); |
| $stmt->bindParam(":session_id", $session_id); |
| $stmt->execute(); |
| } |
| } catch(Exception $e) { |
| error_log("Logout error: " . $e->getMessage()); |
| } |
| } |
|
|
| |
| $_SESSION = array(); |
|
|
| |
| if (ini_get("session.use_cookies")) { |
| $params = session_get_cookie_params(); |
| setcookie(session_name(), '', time() - 42000, |
| $params["path"], $params["domain"], |
| $params["secure"], $params["httponly"] |
| ); |
| } |
|
|
| |
| session_destroy(); |
|
|
| |
| header('Content-Type: application/json'); |
| echo json_encode(array( |
| "success" => true, |
| "message" => "Logged out successfully", |
| "redirect" => "../index.html" |
| )); |
| exit; |
| ?> |