What are common issues with PHP login scripts that result in users being automatically logged out?

Common issues with PHP login scripts that result in users being automatically logged out include session timeout settings being too short, improper handling of session variables, and incorrect redirection after successful login. To solve this issue, ensure that session timeout settings are appropriate for the application, properly set and retrieve session variables, and redirect users to the correct page after successful login.

// Set session timeout to 1 hour
ini_set('session.gc_maxlifetime', 3600);

// Start session
session_start();

// Set session variables
$_SESSION['user_id'] = $user_id;

// Redirect user after successful login
header('Location: dashboard.php');
exit();