Php Facebook登录脚本以重定向循环结束,不会登录

Php Facebook登录脚本以重定向循环结束,不会登录,php,facebook,loops,redirect,login,Php,Facebook,Loops,Redirect,Login,此代码始终运行最后一部分,并重定向到facebook api提供的登录URL。如果我打印$user变量,它每次只显示0。 $facebook = new Facebook(array( 'appId' => 'app id', 'secret' => 'app secret', )); $user = $facebook->getUser(); $loginUrl = $facebook->getLoginUrl(); if ($user) { try {

此代码始终运行最后一部分,并重定向到facebook api提供的登录URL。如果我打印$user变量,它每次只显示0。
$facebook = new Facebook(array(
  'appId'  => 'app id',
  'secret' => 'app secret',
));
$user = $facebook->getUser();
$loginUrl = $facebook->getLoginUrl();
if ($user) {
  try {
    $user_profile = $facebook->api('/me');
  } catch (FacebookApiException $e) {
    error_log($e);
    $user = null;
  }
}

if ($user) {
  $logoutUrl = $facebook->getLogoutUrl();   
  $_SESSION['logouturl'] = $logoutUrl;
  $_SESSION['user'] = $user_profile['name'];
  $_SESSION['id'] = $user_profile['id'];
  $_SESSION['type'] = 'facebook';
  header('Location: index.php');
} else 
{
  $loginUrl = $facebook->getLoginUrl();
  header('Location: '.$loginUrl);
}
?>
确保你在Facebook上的应用程序设置良好,rest看起来很好,如果你在Facebook开发者控制台上的应用程序设置有小问题,它不会特别适用于域名和域名url设置

$facebook = new Facebook(array(
  'appId'  => 'xx',
  'secret' => 'xx',
  'scope' => 'read_stream, email'
));



if ($user) {
  $logoutUrl = $facebook->getLogoutUrl();
} else {
  $params = array(
  'scope' => 'read_stream, email'
);



$loginUrl = $facebook->getLoginUrl($params);