我需要一个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']);