Facebook PHP-SDK parece perder ID de usuario después de actualizar la página

Tengo un inicio de sesión funcionando bien parece, donde puedo iniciar sesión, aceptar la aplicación (la primera vez) y luego mostrar la información del usuario como nombre / imagen / etc.

Sin embargo, cuando actualizo la página, el ID de usuario regresa a 0 y tengo que volver a iniciar sesión. No estoy seguro de cuál es el problema. Debo reiniciarlo cada vez que la página se carga o algo así. No sé, publicaré un código, podría ser difícil, ya que son un montón de archivos separados:

fb_login.php

 'APP_ID', 'secret'=> 'APP_SECRET', 'cookie'=> 'true' )); $userId = $facebook->getUser(); if ($userId) { $userId = $facebook->getUser(); echo("userID is: $userId"); } else{ header("Location: {$loginURL}"); echo("userId is: $userId"); } ?> 

navbar.php –

 api('/me','GET'); echo '
  • Welcome: ' . $user_profile['name'] . '
  • '; echo '
  • '; echo '
  • '; } catch (FacebookApiException $e) { $login_url = $facebook->getLoginUrl(); echo '
  • Please login.
  • '; error_log($e->getType()); error_log($e->getMessage()); } } else{ echo '
  • Sign Up
  • '; } ?> 'http://localhost/bcbooks-repo/index_new.php' ); $logoutUrl = $facebook->getLogoutUrl(); // $params is optional. echo '
  • Log Out
  • '; $facebook->destroySession(); } else{?> getUser(); $accessToken = $facebook->getAccessToken(); $params = array( 'scope' => 'read_stream, friends_likes', 'redirect_uri' => 'http://localhost/bcbooks-repo/index_new.php' ); $loginUrl = $facebook->getLoginUrl($params); echo 'Sign In with Facebook'; ?>

    index.php –

      

    Conectado – Conectado

    Después de actualizar la página Después de actualizar

    Resultados de la consola Resultados de la consola

    Además de lo que Fabio sugirió, intente utilizar este código (obviamente reemplazando YOUR_APP_ID con su identificación de la aplicación real)

      

    Aunque está cargando Facebook PHP SDK con la opción de cookies TRUE, el lado del servidor no puede adivinar si el usuario todavía está conectado a su sitio web, o si cambió a otra cuenta, etc.

    Si desea conservar el uso en todas las páginas, debe combinar el SDK de JavaScript con el SDK de PHP. Para hacer eso, solo tiene que cargar el SDK de JavaScript en cada página que tiene, ponga esto en cada página que necesite interacción con Facebook, justo al lado de la etiqueta :

      

    Intenta declarar ID de usuario en una cookie, como esta:

     $user = $facebook->getUser(); $expire=time()+60*60*24*30; setcookie("user", $user, $expire); 

    Para mí funcionó como un encanto;)