简体   繁体   English

如何使用PHP fb api在两个以上的页面中获取Facebook会话?

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

i need a facebook session. 我需要一个Facebook会议。 in my first page code is 在我的第一页代码中是

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 am getting session to test.php 我正在会话到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
}

i want to get this session to another page next.php is that my coding way is correct? 我想将此会话转移到另一个页面next.php是我的编码方式正确吗? how i get the same session in another page? 我如何在另一个页面中获得相同的会话?

session can be accessible from any pages... 可以从任何页面访问会话...

if($session) {

        $_SESSION['FBID'] = $fbid;           
        $_SESSION['FULLNAME'] = $fbfullname;
        $_SESSION['EMAIL'] =  $femail;
}

Now you can access $_SESSION['FBID'] from any pages.. 现在,您可以从任何页面访问$ _SESSION ['FBID']。

i got the answer. 我得到了答案。 add to test.php 添加到test.php

$_SESSION['fb_token'] = $session->getToken();

in next.php 在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']);

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM