Foros del Web » Programando para Internet » PHP »

Hacer que la session me caduque

Estas en el tema de Hacer que la session me caduque en el foro de PHP en Foros del Web. HOla necesito que me ayuden para que la session caduque tras un tiempo, y que cuando de hacia atras me indique que la pagina a ...
  #1 (permalink)  
Antiguo 20/04/2009, 04:35
Usuario no validado
 
Fecha de Ingreso: abril-2009
Ubicación: España
Mensajes: 96
Antigüedad: 15 años, 7 meses
Puntos: 0
Hacer que la session me caduque

HOla necesito que me ayuden para que la session caduque tras un tiempo, y que cuando de hacia atras me indique que la pagina a caducado.no lo consigo ni con php.ini.si saveis de algo os lo agredeceria.


Código PHP:
<?php
session_start
();
// Para que no se de un ERROR (al coexistir un include / require /require_once con un header location
// es necesario que en el fichero con1.php no exista espacios en blanco.
require_once ('con1.php');
$nombre=$_POST["nombre"];
$clave=$_POST["clave"];

//Ejecutamos la select de las tres tablas para ver si el usuario y clave son correctos.
mysql_select_db ($bd,$cnn1) or die ('No pudo seleccionarse la base de datos');
$consulta="Select id,nombre,clave,nivel from usuario1
 where nombre ='$nombre' and clave='$clave'
 union
 Select id,nombre,clave,nivel from usuario2
 where nombre ='$nombre' and clave='$clave'
 union
 Select id,nombre,clave,nivel from usuario3
 where nombre ='$nombre' and clave='$clave'
"
;
$resultado=mysql_query($consulta,$cnn1) or die (mysql_error());
while(
$registro=mysql_fetch_array($resultado))
{
    
$nivel=$registro ['nivel'];
    
$id_usuario=$registro ['id'];


}
$registrosDevueltos=mysql_num_rows($resultado);
if (
$registrosDevueltos) {
    
session_start();
    
// Se carga la variable de sesion
    // del fichero seguridadGlobal.php
    
$_SESSION["logged_in"]=TRUE;
    
$_SESSION['id_usuario']=$id_usuario;
    
// Se carga el nivel en una variable de sesion
    // para poder comprobarlo en accesoAceptado.php y
    // accesoAceptado2.php. Asi se evita  que un usuario
    // pueda pasar de un nivel a otro despues de autentificarse:
    
$_SESSION["nivel"]=$nivel;

    if (
$nivel==1) {
        
// Se carga la pagina accesoAceptado.php
        
header ("Location:Index1.php");
    }
    else if (
$nivel==2) {
        
// Se carga la pagina accesoAceptado.php
        
header ("Location:Index2.php");
    }
    else if (
$nivel==3) {
        
// Se carga la pagina accesoAceptado.php
        
header ("Location:Index3.php");
    }
}
else {
    
// Si el usuario y contraseña no existen
    // remitimos a inicio.php con un error
    // para que muestre el mensaje de error
    
header("Location:login.php?errorespera==si");
}
?>
este es mi control de acceso no se si lo tendria que meter ahi hoy ya en el acceso aceptado del usuario.
  #2 (permalink)  
Antiguo 20/04/2009, 07:03
 
Fecha de Ingreso: marzo-2008
Mensajes: 51
Antigüedad: 16 años, 7 meses
Puntos: 1
Respuesta: Hacer que la session me caduque

Bueno puedes guardar en una variable el time de entrada.. y validas en las paginas.

Código PHP:
if(time()-$_SESSION["hora_entrada"]>tiempo de caducidad en segundos)
 {
   
redireccionamiento a la pagina de cerrar sesion.
 } 
O lo puedes hacer modificando el php.ini
  #3 (permalink)  
Antiguo 21/04/2009, 08:41
Usuario no validado
 
Fecha de Ingreso: abril-2009
Ubicación: España
Mensajes: 96
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: Hacer que la session me caduque

Ok muchas gracias con esto creo que me servira.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:11.