2010-04-08 25 views
16

¿Alguien sabe la alternativa a la función en desuso session_is_registered en PHP5?PHP alternativa a session_is_registered

aquí es mi código:

ob_start(); 

session_start(); 

if(!session_is_registered(myusername)) 

{ 

    header("location:main_login.php"); 

} 

ob_flush(); 

Gracias,

Mauro

+1

complemento "die();" justo después del encabezado para que el resto de la página no se cargue. – Sirber

+0

o simplemente incluya la página de inicio de sesión y die(); – Sirber

Respuesta

30

"Es necesario configurar y referencia solamente $ _SESSION variables." Por ejemplo:

if(isset($_SESSION[$myusername])) 

De http://www.phpfreaks.com/forums/index.php?topic=263189.0

+1

Por favor, verifique con la respuesta del Sr. Sirber. Pero no olvides votar y aceptar mi respuesta de todos modos porque sin mi respuesta espectacular no habría pensado en su pequeña propina. – zaf

7

en una nota al margen, el mejor uso $_SESSION['username'] = $myusername;. Usar el $_SESSION[$myusername] como una variable puede sobreescribir las variables existentes en la sesión.

+0

zaf: ¡gracias! – Sirber

-1

Uso session_id()

if (!session_id()) { 
// do stuff 
} 

si hay no se devolverá ningún identificador de sesión nada. (docs - session_id())

+0

obtienes session_id() tan pronto como llamas a session_start(); el OP quiere ver si un usuario está conectado. – Sirber

3

Pero si se establece nada en la variable de sesión que le mostrará la página protegida: por ejemplo,

<?php 
    session_start(); 
    if(isset($_SESSION[$myusername])){ 
     echo "welcome to protected page."; 
    } 
    else { 
     header('location:login.php'); 
     die;  
    } 
?>