2010-08-21 23 views
29

Facebook ahora ofrece suscripciones a los usuarios para que pueda obtener actualizaciones en tiempo real sobre los cambios. Si mi aplicación recibe una actualización, planeo guardarla en la base de datos. También me gustaría detectar si su sesión existe. Si lo hace, entonces podría actualizar los datos allí también.Detectar si existe sesión de PHP

Mis ID de sesión son MD5 (fb_id + secret) para poder editar fácilmente su sesión. La pregunta es cómo puedo detectar si la sesión existe.

+1

¿A qué sesión te refieres? ¿De donde? Creado por quien? –

+0

¿Qué significa "hashed secreto"? Si es un hash correcto, no puedes recuperar el fb_id. – NullUserException

+0

La sesión de los usuarios, desde mi servidor, creada por mi servidor ... lo siento, pensé que era un dado – Pablo

Respuesta

26

Según la PHP.net manual:

Si se utiliza $_SESSION (o $HTTP_SESSION_VARS para PHP 4.0.6 o menos), utilice isset() para comprobar una variable se ha registrado en $_SESSION.

+0

Pensé que esto ayudaría a otros que tropezar con esta respuesta: http://php.net/manual/en/function.isset.php – Jace

41

utilizar una versión combinada:

if(session_id() == '' || !isset($_SESSION)) { 
    // session isn't started 
    session_start(); 
} 
7

Si se encuentra en PHP 5.4+, es más limpio para usar session_status():

if (session_status() == PHP_SESSION_ACTIVE) { 
    echo 'Session is active'; 
} 
  • PHP_SESSION_DISABLED si las sesiones están desactivados.
  • PHP_SESSION_NONE si las sesiones están habilitadas, pero ninguna existe.
  • PHP_SESSION_ACTIVE si las sesiones están habilitadas, y existe una.
Cuestiones relacionadas