Я использую PHP PHP SDK и пытаюсь отправить токен-идентификатор с одной страницы на другую. Я использую этот код - http://www.krizna.com/demo/login-with-facebook-using-php/. Я используюКак передать значение FacebookRedirectLoginHelper в PHP
$helper = new FacebookRedirectLoginHelper('http://www.krizna.com/fbconfig.php');
Я попытался отправки значения, как это:
$helper = new FacebookRedirectLoginHelper('http://www.krizna.com/fbconfig.php?value='.$value);
, но я не получаю значение в fbconfig.php
файле, когда я пытаюсь:
$value = $_GET['value'];
Я также использовал сеанс для отправки значений, но он не работает. Как я могу отправить значение в FacebookRedirectLoginHelper (fbconfig.php
)?
fbconfig.php
<?php
session_start();
$value = $_GET['value_new'];
$fb = new \Facebook\Facebook([
'app_id' => $config->facebook->app_id,
'app_secret' => $config->facebook->app_secret
]);
$helper = $fb->getRedirectLoginHelper();
try {
if ($access_token = $helper->getAccessToken()) {
try {
// Returns a `Facebook\FacebookResponse` object with the requested fields
$response = $fb->get('/me?fields=name,id,email,picture', $access_token);
$user = $response->getGraphUser();
$fbid = $user->getId(); // To Get Facebook ID
$fbfullname = $user->getName(); // To Get Facebook full name
$femail = $graphObject->getEmail();// To Get Facebook email ID
$_SESSION['FBID'] = $fbid;
$_SESSION['FULLNAME'] = $fbfullname;
$_SESSION['EMAIL'] = $femail;
//Then do whatever you want with that data
$value = $_SESSION['value'];
header("Location: index.php?value_new=$value");
} catch (\Facebook\Exceptions\FacebookResponseException $e) {
error_log('Graph returned an error: ' . $e->getMessage());
} catch (\Facebook\Exceptions\FacebookSDKException $e) {
error_log('Facebook SDK returned an error: ' . $e->getMessage());
}
}
} catch (\Facebook\Exceptions\FacebookResponseException $e) {
// When Graph returns an error
error_log('Graph returned an error: ' . $e->getMessage());
} catch (\Facebook\Exceptions\FacebookSDKException $e) {
// When validation fails or other local issues
error_log('Facebook SDK returned an error: ' . $e->getMessage());
}
index.php
<?php if (isset($_SESSION['FBID'])): ?><!-- After user login -->
<div class="container">
<h1>value <?php $value_new = $_GET['value_new']; echo $value_new; ?></h1>
</div>
<? endif ?>
URL-адрес, который вы указываете FacebookRedirectLoginHelper - это URL-адрес, с которого перенаправляется facebook, они будут лишать любую строку запроса. Я уверен. Почему fbconfig нужен токен? И я уверен, что это возможно с $ _SESSION –
Я пробовал с $ _SESSION, но он всегда равен нулю. Как я могу использовать его? – jason
Привет, Джейсон. Я просто посмотрю на некоторые из моих кодов для этого, надеюсь, вы получите ответ. –