How can PHP be used to remember the scroll position when navigating back to a list from a detail page?

When navigating back to a list from a detail page, the scroll position can be remembered by storing the scroll position in a session variable before redirecting to the detail page. Then, when returning to the list page, retrieve the scroll position from the session variable and use JavaScript to scroll to that position on page load.

<?php
session_start();

// Store scroll position in session before redirecting to detail page
$_SESSION['scroll_position'] = isset($_GET['scroll_position']) ? $_GET['scroll_position'] : 0;

// Retrieve scroll position from session and pass it to JavaScript
$scroll_position = isset($_SESSION['scroll_position']) ? $_SESSION['scroll_position'] : 0;
?>

<!DOCTYPE html>
<html>
<head>
    <title>List Page</title>
</head>
<body>
    <ul>
        <?php for ($i = 1; $i <= 50; $i++) : ?>
            <li>Item <?php echo $i; ?></li>
        <?php endfor; ?>
    </ul>

    <script>
        window.onload = function() {
            var scrollPosition = <?php echo $scroll_position; ?>;
            window.scrollTo(0, scrollPosition);
        };
    </script>
</body>
</html>