/home/u764571690/domains/ojaspunj.com/public_html
Edit: /home/u764571690/domains/ojaspunj.com/public_html/check_session.php (3228B)
true,
'user_id' => $_SESSION['user_id'] ?? null,
'name' => $_SESSION['user_name'] ?? null,
'email' => $_SESSION['user_email'] ?? null,
'picture' => $_SESSION['user_picture'] ?? 'image/default-avatar.png' // Default picture if not set
]);
exit(); // Stop execution after sending response
} else if (isset($_COOKIE['remember_token'])) {
// User is not logged in via session, but has a remember token cookie
error_log("check_session.php - Remember token cookie found.");
$token = $_COOKIE['remember_token'];
// Verify the token against the database
$stmt = $conn->prepare("SELECT u.user_id, u.fullname, u.email, u.picture FROM users u JOIN remember_tokens rt ON u.user_id = rt.user_id WHERE rt.token = ? AND rt.expires_at > NOW()");
$stmt->bind_param("s", $token);
$stmt->execute();
$result = $stmt->get_result();
if ($result->num_rows > 0) {
// Token is valid, log user in
$user = $result->fetch_assoc();
error_log("check_session.php - Valid remember token found for user: " . $user['user_id']);
// Set session variables
$_SESSION['logged_in'] = true;
$_SESSION['user_id'] = $user['user_id'];
$_SESSION['user_email'] = $user['email'];
$_SESSION['user_name'] = $user['fullname'];
$_SESSION['user_picture'] = $user['picture'] ?? 'image/default-avatar.png'; // Default picture
// Update token expiration in database (optional, for rolling tokens)
// $new_expires = date('Y-m-d H:i:s', strtotime('+30 days'));
// $update_stmt = $conn->prepare("UPDATE remember_tokens SET expires_at = ? WHERE token = ?");
// $update_stmt->bind_param("ss", $new_expires, $token);
// $update_stmt->execute();
// $update_stmt->close();
$conn->close();
echo json_encode([
'logged_in' => true,
'user_id' => $_SESSION['user_id'],
'name' => $_SESSION['user_name'],
'email' => $_SESSION['user_email'],
'picture' => $_SESSION['user_picture']
]);
exit();
} else {
// Invalid or expired token, clear cookie and session
error_log("check_session.php - Invalid or expired remember token.");
setcookie('remember_token', '', time() - 3600, '/');
session_unset();
session_destroy();
$conn->close();
}
}
// If neither session nor valid token exists
error_log("check_session.php - User not logged in (no session or invalid token).");
echo json_encode(['logged_in' => false]);
exit();
?>