Le sugiero que vaya a sesiones de PHP. Es simple y no tiene que lidiar con las cookies usted mismo.
A continuación se muestra el código para destruir realmente una sesión, copiar y pegar desde el example que figura en el manual de PHP.
// Initialize the session.
// If you are using session_name("something"), don't forget it now!
session_start();
// Unset all of the session variables.
$_SESSION = array();
// If it's desired to kill the session, also delete the session cookie.
// Note: This will destroy the session, and not just the session data!
if (ini_get("session.use_cookies")) {
$params = session_get_cookie_params();
setcookie(session_name(), '', time() - 42000,
$params["path"], $params["domain"],
$params["secure"], $params["httponly"]
);
}
// Finally, destroy the session.
session_destroy();
Sobre su pregunta:
Qué es mejor usar para mantener el usuario ha iniciado sesión hasta que cierra su navegador?
No hay forma de prueba de fallas cuando el usuario ha cerrado el navegador. Un enfoque es seguir enviando continuamente pequeñas solicitudes AJAX al servidor. Cuando no se ve ninguna solicitud durante un período de tiempo prolongado, destruya la sesión.
Otro enfoque es escuchar la descarga de la ventana DOM y enviar una solicitud al servidor para destruir la sesión.
Sesión realmente utiliza cookies para almacenar la @AlvinWong SID –
lo sé, pero mi pregunta es ¿cuál es mejor usar en PHP – treng