Buenos días gente,
Tengo un problemilla con mi script de logout. Para mi login utilizo la variable $_SERVER y a partir de ello creo las cookies y, por tanto, al hacer logout debo destruir $_SERVER['PHP_AUTH_USER'], $_SERVER['PHP_AUTH_PW'] y las dos cookies que defino, 'login' y 'password'.
En definitiva, utilizo el siguiente script para el deslogueo:
Código PHP:
if (isset($_SERVER['PHP_AUTH_USER']) && isset($_SERVER['PHP_AUTH_PW'])) {
$_SERVER['PHP_AUTH_USER'] = null;
$_SERVER['PHP_AUTH_PW'] = null;
//$_SERVER['HTTP_COOKIE'] = null;
}
if (isset($_COOKIE['login']) && isset($_COOKIE['password'])) {
//Destruimos las cookies
setcookie('login', 'x', time() - 3600);
setcookie('password', 'x', time() - 3600);
//setcookie('PHPSESSID', 'x', time() - 3600);
}
if (empty($_COOKIE['login']) && empty($_COOKIE['password']) && empty($_SERVER['PHP_AUTH_USER']) && empty($_SERVER['PHP_AUTH_PW'])) {
echo 'Se ha deslogueado correctamente';
echo '<br />';
echo '<button id="button" type="button" onclick="location.href=\'index.php\'">Volver al inicio</button>';
exit();
}
Las dos líneas que tengo comentadas son pruebas a ver si conseguía hacer funcionar a la máquina, pero no ha sido posible. Lo más curioso es que borrando las cookies a través del navegador seguía sin funcionar el percal.
Por si sirve de algo, estoy probando en Google Chrome de Mac. Un saludo y muchas gracias.