Ver Mensaje Individual
  #6 (permalink)  
Antiguo 21/02/2011, 15:10
dibustosb
 
Fecha de Ingreso: mayo-2009
Ubicación: Concepción
Mensajes: 27
Antigüedad: 14 años, 11 meses
Puntos: 0
Pregunta Respuesta: Cerrar Sesión en los Navegadores

Cita:
Iniciado por gran Wakka Ver Mensaje
100% de acuerdo... sin el código no podremos ayudarte con tu problema.
En el index tengo el siguiente formulario, que lo envía a un archivo validar.php

Código PHP:
            <form name="login_form" method="post" action="validar.php">
            <
table>
            <
tr>
            <
td><p>Usuario</p></td>
            <
td><input type="text" name="nombre_usuario" id="nombre_usuario"></td>
            <
td><p align="right"><img src="images/usuario.png" width="16" height="16"></p></td>
            </
tr>
            
            <
tr>
            <
td><p>Contraseña</p></td>
            <
td><input type="password" name="clave_usuario" id="clave_usuario"></td>
            <
td><p align="right"><img src="images/clave_inicio.png" width="16" height="16"></p></td>
            </
tr>
                
            <
tr>
            <
td></td>
            <
td><input type="submit" name="button" id="button" value="Entrar"></td>
            </
tr>
            </
table>
            </
form

Luego en el archivo validar.php tengo el siguiente código:
Código PHP:
<?php require_once('conexion.php');
$nombre_usuario $HTTP_POST_VARS["nombre_usuario"]; 
$clave_usuario $HTTP_POST_VARS["clave_usuario"]; 


$existeUsuario mysql_db_query("$database_conexion","SELECT nombre_usuario, clave_usuario, nivel_usuario FROM usuarios WHERE nombre_usuario = '$nombre_usuario' AND clave_usuario = '$clave_usuario'",$conexion) or die(mysql_error()); 

if(
mysql_num_rows($existeUsuario) == 1//verifica que existe un nombre de usuario y contraseña validos

    
$datos mysql_fetch_array($existeUsuario); //guarda los datos de la consulta


    
if($datos["nivel_usuario"]== 1//si el nivel de usuario es 1, ingresa a mantenedor.php
    
{     
        
session_start();
        
$_SESSION['nombre_usuario'] = $datos["nombre_usuario"];
        
$_SESSION["autentificado"]= "SI";
        
$_SESSION['nivel_usuario']=$datos["nivel_usuario"];
        
header("location: mantenedor.php");
    }
    
    if(
$datos["nivel_usuario"]== 2//si el nivel de usuario es 2, ingresa a administrador.php
    
{
        
session_start();
        
$_SESSION["nombre_usuario"]= $nombre_usuario;
        
$_SESSION["autentificado"]= "SI";
        
$_SESSION['nivel_usuario']=$datos["nivel_usuario"];
        
header("location: administrador.php");
    }
    
    if(
$datos["nivel_usuario"]== 3//si el nivel de usuario es 3, ingresa a modificador.php
    

        
session_start();
        
$_SESSION['nombre_usuario'] = $datos["nombre_usuario"];
        
$_SESSION["autentificado"]= "SI";
        
$_SESSION['nivel_usuario']=$datos["nivel_usuario"];
        
header("location: modificador.php");
    }
    
    if(
$datos["nivel_usuario"]== 4//si el nivel de usuario es 4, ingresa a consultor.php
    

        
session_start();
        
$_SESSION['nombre_usuario'] = $datos["nombre_usuario"];
        
$_SESSION["autentificado"]= "SI";
        
$_SESSION['nivel_usuario']=$datos["nivel_usuario"];
        
header("location: consultor.php");
    }
    

}

else

header("location: login_error.php"); // si el usuario no existe lo envia a una pagina de error.
}
?>
y en cada página que quiero que sea autentifcado el usuario tengo al principio lo siguiente:

Código PHP:
<?php session_start(); ?>
<?php
    
if ($_SESSION["autentificado"] != "SI"
    { 
        
header("Location: index.php");
        exit(); 
    }
    
?>


Tengo un enlace de "cerrar sesión" al siguiente archivo el cual contiene el siguiente código:


Código PHP:
<?php session_start();
session_destroy(); 
header("location: index.php"); 
?>

HELP! :P