In what ways can PHP sessions be utilized to manage user authentication and access control after a successful login?

PHP sessions can be utilized to manage user authentication and access control after a successful login by storing relevant user information in session variables. This information can include user ID, username, and any necessary permissions or roles. By checking these session variables on each page load, you can ensure that only authenticated users with the correct access rights can access specific parts of your website.

// Start the session
session_start();

// Set session variables after successful login
$_SESSION['user_id'] = $user_id;
$_SESSION['username'] = $username;
$_SESSION['role'] = $role;

// Check session variables on each page load
if (!isset($_SESSION['user_id'])) {
    // Redirect to login page if user is not authenticated
    header("Location: login.php");
    exit();
}

// Check access rights based on user role
if ($_SESSION['role'] !== 'admin') {
    // Redirect to unauthorized page if user does not have access rights
    header("Location: unauthorized.php");
    exit();
}