What is the common issue with PHP sessions not being destroyed properly after logout?
The common issue with PHP sessions not being destroyed properly after logout is that the session cookie is not being unset. To solve this issue, you need to unset the session cookie and destroy the session data upon logout.
// Start the session
session_start();
// Unset all session variables
$_SESSION = array();
// Destroy the session
session_destroy();
// Unset the session cookie
if (ini_get("session.use_cookies")) {
$params = session_get_cookie_params();
setcookie(session_name(), '', time() - 42000,
$params["path"], $params["domain"],
$params["secure"], $params["httponly"]
);
}
// Redirect to the login page
header("Location: login.php");
exit();