entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

2votos

Cerrar sesión en PHP

Saludos

Tengo este código para cerrar la sesión en un sistema de login php. La cuestión es que cuando compruebo si la sesión se ha cerrado con éxito veo que no ha sucedido. Gracias de antemano.

<?php 
session_start();
if($_SESSION['nombre']){    
    session_destroy();
    header("location:index.php");
}
else{
    header("location:index.php");
}
?>

1 Respuesta

4votos

magarzon Puntos30650

Hola, session_destroy destruye la información de la sesión, pero no destruye las variables globales asociadas con ella (como ese $_SESSION['nombre']) ni la cookie de sesión, por lo que cuando se redirecciona a index.php, se vuelve a regenerar la sesión (por la llamada session_start) y vuelves a tener la variable nombre disponible, por lo tanto es como si no te hubieras desconectado.

En la propia documentación oficial de PHP tienes un ejemplo de cómo puedes hacer un logout con session_destroy efectivo: http://php.net/manual/es/function.session-destroy.php

1voto

Iskandarina comentado

Muchas gracias por la respuesta. Ahora entiendo mi error

0voto

Peter comentado

@Iskandarina si la respuesta soluciona tu problema, por favor dale seleccionar respuesta como correcta.

Por favor, accede o regístrate para responder a esta pregunta.

Otras Preguntas y Respuestas


...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta