How can manual session ID handling be implemented in PHP scripts to address issues with cookies and sessions after a server migration?

When migrating servers, there may be issues with cookies and sessions being lost or not working properly. To address this, manual session ID handling can be implemented in PHP scripts by passing the session ID through URLs or forms instead of relying on cookies.

// Start the session with a custom session name
session_name("custom_session_name");
session_start();

// Check if a session ID is passed through the URL or form
if(isset($_GET['session_id'])){
    session_id($_GET['session_id']);
}

// Use the session as usual
$_SESSION['example'] = 'data';

// Generate a URL with the session ID
$session_id = session_id();
$url = "http://example.com/page.php?session_id=$session_id";
echo "<a href='$url'>Click here</a> to access the session";