Foros del Web » Programando para Internet » PHP »

Mostrar mensaje al cerrar sesion en php

Estas en el tema de Mostrar mensaje al cerrar sesion en php en el foro de PHP en Foros del Web. Hola, buenos dias... Quiero que al acabarse la sesion o al tratar de ingresar sin acceso, que muestre un mensaje emergente y que redirija a ...
  #1 (permalink)  
Antiguo 18/05/2012, 07:20
 
Fecha de Ingreso: septiembre-2011
Ubicación: Caracas
Mensajes: 240
Antigüedad: 12 años, 7 meses
Puntos: 9
Mostrar mensaje al cerrar sesion en php

Hola, buenos dias... Quiero que al acabarse la sesion o al tratar de ingresar sin acceso, que muestre un mensaje emergente y que redirija a la pagina principal (de login)... Esto es el codigo que tengo hecho, pero el problema es que nunca muestra el mensaje... Si alguien puede exharme una mano... Gracias

Código PHP:
Ver original
  1.     $inactivo=60;
  2.  
  3.         if(isset($_SESSION['timeout']) ) {
  4.             $session_life = time() - $_SESSION['inicio'];
  5.         if($session_life > $inactivo)
  6.         { session_destroy();
  7.         header("Location:../index.php"); }
  8.         }
  9.         $_SESSION['timeout'] = time();
  10.        
  11.     if(@$_SESSION['tipo_usuario']!="lider")
  12.     {
  13.         echo '<script type="text/javascript">alert("No tiene permiso para ingresar a esta area");</script>';
  14.         header("location:../index.php");
  15.     }
  #2 (permalink)  
Antiguo 18/05/2012, 07:27
 
Fecha de Ingreso: enero-2010
Mensajes: 17
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: Mostrar mensaje al cerrar sesion en php

cuando haces el header pasa por get un error con el mensaje en la pagina que lo quieres mostrar
lo q haces es obtener el GET y mostrarlo.
Código PHP:
header('location:index.php?error=1')
//en index capturas el error
if(isset($_GET['error'])){
 if(
$_GET['error']==1){
//imprimes el error 
echo 'error Inicie Sesion o algo parecido  ';
}


asi es mas sencillo con php tambien lo puedes hacer con javascript.
  #3 (permalink)  
Antiguo 18/05/2012, 07:34
 
Fecha de Ingreso: septiembre-2011
Ubicación: Caracas
Mensajes: 240
Antigüedad: 12 años, 7 meses
Puntos: 9
Respuesta: Mostrar mensaje al cerrar sesion en php

Cita:
Iniciado por javif Ver Mensaje
cuando haces el header pasa por get un error con el mensaje en la pagina que lo quieres mostrar
lo q haces es obtener el GET y mostrarlo.
Código PHP:
header('location:index.php?error=1')
//en index capturas el error
if(isset($_GET['error'])){
 if(
$_GET['error']==1){
//imprimes el error 
echo 'error Inicie Sesion o algo parecido  ';
}


asi es mas sencillo con php tambien lo puedes hacer con javascript.
Gracias por tu respuesta... A que te refieres con
Cita:
en index capturas el error
  #4 (permalink)  
Antiguo 18/05/2012, 07:35
 
Fecha de Ingreso: enero-2010
Mensajes: 17
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: Mostrar mensaje al cerrar sesion en php

a que lo capturas por get y lo muestas ya q lo estas pasando por ahi.
  #5 (permalink)  
Antiguo 18/05/2012, 07:38
 
Fecha de Ingreso: septiembre-2011
Ubicación: Caracas
Mensajes: 240
Antigüedad: 12 años, 7 meses
Puntos: 9
Respuesta: Mostrar mensaje al cerrar sesion en php

Cita:
Iniciado por javif Ver Mensaje
a que lo capturas por get y lo muestas ya q lo estas pasando por ahi.
Disculpa tanta molestia, pero aun no lo veo... Lo que pasa es que siempre he trabajado con post... Muchas gracias
  #6 (permalink)  
Antiguo 18/05/2012, 07:44
 
Fecha de Ingreso: enero-2010
Mensajes: 17
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: Mostrar mensaje al cerrar sesion en php

Código PHP:
session_start();
    
$inactivo=60;
 
        if(isset(
$_SESSION['timeout']) ) {
            
$session_life time() - $_SESSION['inicio'];
        if(
$session_life $inactivo)
        { 
session_destroy(); 
        
header("Location:../index.php"); }
        }
        
$_SESSION['timeout'] = time();
        
    if(@
$_SESSION['tipo_usuario']!="lider")
    {
        echo 
'<script type="text/javascript">alert("No tiene permiso para ingresar a esta area");</script>';
        
header("location:../index.php?error=1");//aqui solo modifica esto 
    
}

//en el index donde lo redireccionas colocas esto

if(isset($_GET['error'])){
 if(
$_GET['error']==1){
$error='MENSAJE DE ERROR QUE QUIERAS MOSTAR';
}

}
echo 
$error// donde imprimas esta variable te va mostrar el mensaje de error 
  #7 (permalink)  
Antiguo 18/05/2012, 12:25
 
Fecha de Ingreso: septiembre-2011
Ubicación: Caracas
Mensajes: 240
Antigüedad: 12 años, 7 meses
Puntos: 9
Respuesta: Mostrar mensaje al cerrar sesion en php

Hice los cambios que me sugeriste y otros que quise intentar hacer, pero me da problemas... Despues de que se vence el tiempo de sesion, me aparece el mensaje de error... Pero luego intente entrar logueandome y me da el otro error que yo le programe, aun siendo un usuario valido... Y no, no fue por meter usuario y password mal... Voy a postear el codigo

Esta en todas las paginas

Código PHP:
Ver original
  1.     $inactivo=3600;
  2.  
  3.         if(isset($_SESSION['timeout']) ) {
  4.             $session_life = time() - $_SESSION['inicio'];
  5.         if($session_life > $inactivo)
  6.         { session_destroy();
  7.         header("Location:../index.php?error=2"); }
  8.         }
  9.         $_SESSION['timeout'] = time();
  10.        
  11.     if(@$_SESSION['tipo_usuario']!="admin")
  12.     {
  13.         header("location:../index.php?error=1");
  14.     }

Y esto en el index.php

Código PHP:
Ver original
  1. if(isset($_GET['error'])){
  2.         if($_GET['error']==1){
  3.         $error='<script type="text/javascript">alert("No tiene permiso para ver esta area");</script>';
  4.         }
  5.         }
  6.         if(isset($_GET['error'])){
  7.         if($_GET['error']==2){
  8.         $error='<script type="text/javascript">alert("Se acabo su tiempo de sesion. Por favor, identificarse nuevamente");</script>';
  9.         }
  10.         }
  11.         echo @$error;

P.D. No se si al colocar session_start en todas las paginas sea el problema, ya que cada pagina crearia una nueva sesion (corrijanme si me equivoco)... En dado caso de lo que anterior fuera cierto, habria forma de manejar una unica sesion entre diferentes paginas y carpetas? Muchas gracias

Última edición por dragonfire256; 18/05/2012 a las 12:46

Etiquetas: cerrar, mensaje, usuarios
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 18:33.