如何获得facebook会话在两个以上的页面使用PHP fb api


how to get facebook session in more than two pages using PHP fb api?

我需要一个facebook会话。在我的第一页代码是

session_start();
define('FACEBOOK_SDK_V4_SRC_DIR', 'fb-php-sdk-v4/src/Facebook/');
require __DIR__ . '/fb-php-sdk-v4/autoload.php';
use Facebook'FacebookSession;
use Facebook'FacebookRedirectLoginHelper;
use Facebook'FacebookRequest;
use Facebook'GraphUser;
use Facebook'FacebookRequestException;
use Facebook'GraphObject;
FacebookSession::setDefaultApplication('....', '.....');
$helper = new FacebookRedirectLoginHelper('http://localhost/fb/test.php');
echo "<a href='".$helper->getLoginUrl()."'>login</a>";

i get session to test.php

session_start();
define('FACEBOOK_SDK_V4_SRC_DIR', 'fb-php-sdk-v4/src/Facebook/');
require __DIR__ . '/fb-php-sdk-v4/autoload.php';
use Facebook'FacebookSession;
use Facebook'FacebookRedirectLoginHelper;
use Facebook'FacebookRequest;
use Facebook'GraphUser;
use Facebook'FacebookRequestException;
use Facebook'GraphObject;
FacebookSession::setDefaultApplication('.....', '....');
$helper = new FacebookRedirectLoginHelper('http://localhost/fb/test.php');
try {
  $session = $helper->getSessionFromRedirect();
} catch(FacebookRequestException $ex) {
    echo $ex;
} catch('Exception $ex) {
  echo $ex;
}
if($session) {
//some code here
}

我想把这个会话到另一个页面next.php我的编码方式正确吗?我如何在另一个页面中获得相同的会话?

session可以从任何页面访问…

if($session) {
        $_SESSION['FBID'] = $fbid;           
        $_SESSION['FULLNAME'] = $fbfullname;
        $_SESSION['EMAIL'] =  $femail;
}

现在你可以从任何页面访问$_SESSION['FBID'] .

我得到了答案。添加到test.php

$_SESSION['fb_token'] = $session->getToken();
在next.php

<?php 
session_start();
define('FACEBOOK_SDK_V4_SRC_DIR', 'fb-php-sdk-v4/src/Facebook/');
require __DIR__ . '/fb-php-sdk-v4/autoload.php';
use Facebook'FacebookSession;
use Facebook'FacebookRedirectLoginHelper;
use Facebook'FacebookRequest;
use Facebook'GraphUser;
use Facebook'FacebookRequestException;
use Facebook'GraphObject;
FacebookSession::setDefaultApplication('...', '...');
$session = new FacebookSession($_SESSION['fb_token']);