Ver Mensaje Individual
  #1 (permalink)  
Antiguo 03/05/2010, 11:28
veronica21
 
Fecha de Ingreso: junio-2009
Mensajes: 103
Antigüedad: 15 años, 5 meses
Puntos: 0
como eliminar sesiones tras un tiempo

hola a todos, estoy intentando hacer una tienda online, y estoy ahora mismo liado con el tema de sesiones; os explico:

El usuario esta registrado en la base de datos como administrador o como cliente normal, entonces cuando el cliente introduce su nombre de usuario y password lo que hace mi codigo es comprobar si es cliente o es administrador y dependiendo de eso le envia a una pagina u otra y creo la siguiente sesion:

//aqui le doy el valor que el cliente ha escrito en el formulario de autenticacion a la variable $usuario
$usuario = $_POST['usuario'];
//creo la sesion
session_start();
//segun sea administrador o usuario normal creo una variable de sesion u otra (en este caso lo hago de administrador)
$_SESSION['name'] = $usuario;
$_SESSION['user'] = "administrador";

entonces creado esto lo que hago es redirigir a una pagina exclusiva para el administrador alli, compruebo que realmente sea administrador para poder acceder y usar esa pagina:

<?php

session_start();

if(!empty($_SESSION['user']) && !empty($_SESSION['name']))
{
if($_SESSION['user'] == 'administrador')
{
echo "perfecto, ha iniciado sesion como administrador";
echo "<BR>bienvenido a casa: ",$_SESSION['name']," eres bien recibido";
}
else
{
echo "Lo siento esta intentando acceder a una zona restringida";
}

}

Vale aqui viene mi pregunta, porque me gustaria borrar la sesion tras 5 minutos de inactividad por si por ejemplo el administrador tiene que salir y tal para que nadien toque la pagina,es mas que nada por seguridad; para ello he tocado la siguiente variable en php.ini:

session.cookie_lifetime = 300

he dejado el explorador abierto sin realmente tocar nada, he esperado 8 minutos por si acaso para ver si se me borrase y cuando he refrescado me ha vuelto a detectar la misma sesion de antes, es decir, no me ha borrado la sesion de administrador... yo creo que es por el session_start() ese que he puesto al principio de la pagina que lo que me hace es revivir la sesion anterior pero esque sino lo pongo no me detecta la sesion creada en la otra pagina...

alguien sabe como puedo hacer?? saludo y gracias de antemano!!!