Ver Mensaje Individual
  #7 (permalink)  
Antiguo 01/05/2011, 17:29
russellhoff
 
Fecha de Ingreso: noviembre-2010
Ubicación: laudio
Mensajes: 61
Antigüedad: 14 años, 1 mes
Puntos: 1
Respuesta: Problema con isset() y Sesión

Bien mi cerrar sesion hace esto:

Código PHP:
if( !isset($_SESSION) ){
    
crearSesion();
}

/* Creamos la variable $ruta y la inicializamos con el contenido de $_SERVER["SCRIPT_NAME"] */
$ruta $_SERVER["SCRIPT_NAME"];
/* Creamos la variable $ruta y la inicializamos con el contenido de $_SERVER["SCRIPT_NAME"] */

if ( comprobarAccesoSeguro($ruta) ){
    
//echo "Hemos entrado. <br>";
    //Quitamos de la base de datos, de la tabla que mantiene los usuarios que estan conectados, el usuario actual conectado.
    
quitarUsuarioConexionActual();
    
    
//echo "Hemos quitado el usuario conectado actualmente<br>";
    //destruimos la sesion
    
destruirSesion();
    
}

/* Redirigir al índice (index.php) */
header("Location: ..");
/* Redirigir al índice (index.php) */ 
y destruirSesion():
Código PHP:
/**
 *
 * @desc Cierra una sesion anteriormente creada.
 * @return bool True si se destruye bien, false si no.
 */
function destruirSesion(){
    
    
/* Si la sesion esta iniciada */
    
if( isset($_SESSION) && !is_null($_SESSION) ){
        
/* Reiniciamos la variable $_SESSION con un array vacio. Ademas hacemos session_unset() para eliminar cualquier posible resto
         * Cerramos la sesion con sid actual gracias a session_destroy(). 
         */
        
$_SESSION = array();
        
session_unset();
        
        return 
session_destroy();
        
/* Reiniciamos la variable $_SESSION con un array vacio. Ademas hacemos session_unset() para eliminar cualquier posible resto 
         * Cerramos la sesion con sid actual gracias a session_destroy(). 
         */
    
}else{
    
/* Si no esta la sesion iniciada, no habra necesidad de destruirla */
        
return false;
    
    }