Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/394.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP/JavaScript Facebook登录重定向循环_Javascript_Php_Facebook - Fatal编程技术网

PHP/JavaScript Facebook登录重定向循环

PHP/JavaScript Facebook登录重定向循环,javascript,php,facebook,Javascript,Php,Facebook,我正在使用PHPSDKforFacebook登录,它第一次登录时很好,但是如果返回应用程序,它就会陷入重定向循环 该应用程序的流程如下所示,用户在facebook页面选项卡上导航到一个应用程序,如果用户不喜欢该页面,他们会看到一个与我们相似的页面,如果不喜欢,他们会被重定向到app.php,其中存在以下代码 <?php opcache_reset(); require 'sdk/facebook.php'; // Include facebook SDK file $facebook =

我正在使用PHPSDKforFacebook登录,它第一次登录时很好,但是如果返回应用程序,它就会陷入重定向循环

该应用程序的流程如下所示,用户在facebook页面选项卡上导航到一个应用程序,如果用户不喜欢该页面,他们会看到一个与我们相似的页面,如果不喜欢,他们会被重定向到app.php,其中存在以下代码

<?php
opcache_reset();
require 'sdk/facebook.php';  // Include facebook SDK file
$facebook = new Facebook(array(
  'appId'  => 'XXXXXX',   // Facebook App ID 
  'secret' => 'XXXXXXXXXXXXXX',  // Facebook App Secret
  'cookie' => true,    
));
$user = $facebook->getUser();
if ($user) {
  try {
    $user_profile = $facebook->api('/me');
    session_start();
          $fbid = $user_profile['id'];           // To Get Facebook ID

  } catch (FacebookApiException $e) {
    error_log($e);
   $user = null;
  }
}
if ($user) {
  $logoutUrl = $facebook->getLogoutUrl(array(
         'next' => 'http:/localhost:8888/logout.php',  // Logout URL full path
        ));
} else {
 $loginUrl = $facebook->getLoginUrl(array(
        'scope'        => 'user_birthday', // Permissions to request from the user
        ));
}
?>
<!DOCTYPE html>
... html stuff
<?php if ($user): ?>
show the goods
<?php else: ?>
redirect to login     
<script>window.top.location.href = '<?php echo $loginUrl; ?>'; </script>
<?php endif ?>
... rest of html page

... html内容
展示商品
重定向到登录
window.top.location.href='';
... html页面的其余部分
我读过很多人有类似的问题,但还没有找到一个坚实的反应是什么发生了,为什么。在这个阶段,还没有使用JavaScript SDK


任何帮助都将不胜感激

获取用户数据后添加此代码

 if(!empty($user)) 
{ 
  if(!$user)
{
  exit();
}
  // YOUR FUNCTION
 }

我不知道发生了什么,但是相信我。当我阅读你的问题时,我测试了你的代码,没有工作,然后我测试了我的一个示例应用程序,也无法登录。几分钟后,我再次尝试了你的应用程序,我删除了函数
opcache\u reset()
,它可以工作*。您的代码确实没有任何问题。成功登录后被重定向的原因是由于方法
$facebook->getUser()
,该方法始终返回
0
,并且显示了JS重定向。我去掉了opcache_rest()并在服务器上关闭了它,我仍然陷入重定向循环,它必须与Facebook Cookie和PHP会话有关