Foros del Web » Programando para Internet » PHP »

Mandar mensaje para indicar cierre sesion

Estas en el tema de Mandar mensaje para indicar cierre sesion en el foro de PHP en Foros del Web. Hola!. Soy nuevo en el foro y tengo una duda con las sesiones. Llevo dias intentando quitar un mensaje para indicar que la sesion se ...
  #1 (permalink)  
Antiguo 11/08/2008, 04:38
 
Fecha de Ingreso: agosto-2008
Mensajes: 4
Antigüedad: 15 años, 8 meses
Puntos: 0
Mandar mensaje para indicar cierre sesion

Hola!. Soy nuevo en el foro y tengo una duda con las sesiones.
Llevo dias intentando quitar un mensaje para indicar que la sesion se cierra porque ha pasado un tiempo X.
Tengo un header que me redirije al index.php y eso lo hace bien pero quiero que muestre un mensaje de aviso y he leido en varios sitios que no se puede escribir antes del header.
Vamos que no se me ocurre como puedo sacar el dichoso mensaje, os paso el codigo a ver si teneis alguna idea, muchas gracias

<?php

session_name("prueba");
session_start();

if ($_SESSION["autentificado"] == "SI") {

$fechaGuardada = $_SESSION["ultimoAcceso"];
$ahora = date("Y-n-j H:i:s");
//comparamos el tiempo transcurrido
$tiempo_transcurrido = (strtotime($ahora)-strtotime($fechaGuardada));

//si pasaron 2 minutos o más
if($tiempo_transcurrido >= 60) {

session_unset();
session_destroy(); // destruyo la sesión
header("location: ../index.php"); //envío al usuario a la pag. de autenticación
exit();

//sino, actualizo la fecha de la sesión
}else {
$_SESSION["ultimoAcceso"] = $ahora;
}
}

?>
  #2 (permalink)  
Antiguo 11/08/2008, 05:00
Avatar de Kamae  
Fecha de Ingreso: abril-2008
Ubicación: Barcelona (Catalunya)
Mensajes: 307
Antigüedad: 16 años
Puntos: 13
Respuesta: Mandar mensaje para indicar cierre sesion

Buenas

Pues podrías redireccionarlo a una página donde salga dicho mensaje, y luego que esa te redireccione a la index.

Es decir:

Código PHP:
//si pasaron 2 minutos o más
if($tiempo_transcurrido >= 60) {

session_unset();
session_destroy(); // destruyo la sesión
header("location: ../sessionExp.php"); //envío a la pag. de cerrado de sesión
exit(); 
Código PHP:
// sessionExp.php
<html>
    <
head>
        <
title>Sesi&#243;n Expirada</title>
    
</head>
    <
body>
        
Tu sesi&#243;n ha sido cerrada porque has estado inactivo más de 2 minutos.
        
Ser&#225;s redirigido automáticamente a la página principal en 5 segundos.
        
Si no quieres esperarpulsa <a href="index.php">aqu&#237;</a>
        
<META HTTP-EQUIV="Refresh" CONTENT="5; URL=index.php">
        
// Esto redirecciona en 5 segs, si no funciona, ponle en URL la dirección completa de tu web, es decir www.TU-WEB.com/index.php
    
</body>
</
html
A ver si así te sirve

Saludos

Última edición por Kamae; 11/08/2008 a las 05:05
  #3 (permalink)  
Antiguo 11/08/2008, 05:14
 
Fecha de Ingreso: agosto-2008
Mensajes: 4
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Mandar mensaje para indicar cierre sesion

Funciona perfecto, no conocía la etiqueta META. Probara lo de enviar a un archivo intermedio pero le ponia otro header y seguia con el mismo problema

Muchas gracias
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 00:01.