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

no funciona session destroy

me explico estoy haciendo un sistema de login con roles eso funciona bien
pero al momento de dar cerrar sesion y por ejemplo escribir la ruta me deja ingresar normal

este es mi login

<?php 

if(!empty($_SERVER['HTTP_X_REQUESTED_WITH']) 
    && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest'){

    require_once('connection.php');
sleep(2);
session_start();

$connect->set_charset('utf8');

$usuario = $connect ->real_escape_string($_POST['usuariolg']);

$pas = $connect->real_escape_string(md5($_POST['passlg']));

if($nueva_consulta= $connect->prepare("SELECT nombre,apellido,correo,clave,p.perfil FROM usuario
INNER JOIN perfil AS p
ON usuario.id_perfil=p.id_perfil
WHERE correo = ? 
AND clave=?")){

$nueva_consulta->bind_param('ss', $usuario, $pas);
$nueva_consulta->execute();
$resultado=$nueva_consulta->get_result();
if($resultado->num_rows == 1){
    $datos=$resultado->fetch_assoc();
    $_SESSION['usuario']=$datos;
    echo json_encode(array('error' => false, 'tipo' => $datos['perfil']));

} else{
    echo json_encode(array('error' => true));
}
$nueva_consulta->close();

}

}
$connect->close();

 ?>

el index del usuario

<?php 
session_start();
if(isset($_SESSION['usuario'])){
    if($_SESSION['usuario']['perfil'] != "Aprendiz"){
        header("Location: ../admin/");
    }
}else {
    header('Location : ../');
}

 ?>

el index del admin

<?php 
session_start();

if(isset($_SESSION['usuario'])){
    if($_SESSION['usuario']['perfil'] != "Administrador"){
        header("Location: ../usuario/");
    }
}else {
    header('Location : ../');
}

 ?>

y el cerrar sesion

<?php
session_start();
session_destroy();
header("Location: ../");
?>

por ultimo y no creo que sea este el error ya que redirecciona bien cuando inicio sesion un archivo ajax

jQuery(document).on('submit', '#formlg', function(event){
    event.preventDefault();

    jQuery.ajax({
        url:'php/login.php',
        type: 'POST',
        dataType: 'json',
        data: $(this).serialize(),
        beforeSend: function(){
            $('.botonlg').val('validando.....');

        }
    })
    .done(function(respuesta) {
        console.log(respuesta);
        if(!respuesta.error){
            if(respuesta.tipo =='Administrador'){
                location.href ='admin/';
            } else if(respuesta.tipo =='Aprendiz'){
                location.href='usuario/';
            }

        }else {
            $('.error').slideDown('slow');
            setTimeout(function(){
                $('.error').slideUp('slow');
            },3000);
            $('.botonlg').val('Iniciar Sesion');

        }
    })
    .fail(function(resp){
        console.log(resp.responseText);
    })
    .always(function(){
        console.log("complete");
    });
});

1 Respuesta

2votos

Umarumm Puntos1640

Me Auto Respondo al parecer es un problema al trabajar de manera local
lo subi a 000webhost y funciona bien el session_destroy();
y ya no deja regresar a un directorio despues de haber Cerrado Sesion

1voto

Peter comentado

Gracias por compartir la solución.

Saludos.

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