我似乎可以正常登录,在那里我可以登录,接受应用程序(第一次),然后显示用户信息,如姓名/图片/等。
但是,当我刷新页面时,用户 ID 又回到 0,我必须再次登录 - 我不确定问题出在哪里,我必须在每次页面加载时重新启动它还是什么?我不知道,我会发布一些代码 - 这可能很难,因为它们是一堆单独的文件:
fb_login.php -
<?php
require_once("fb_login/facebook.php");
$facebook = new Facebook(array(
'appId' => 'APP_ID',
'secret'=> 'APP_SECRET',
'cookie'=> 'true'
));
$userId = $facebook->getUser();
if ($userId) {
$userId = $facebook->getUser();
echo("userID is: $userId");
}
else{
header("Location: {$loginURL}");
echo("userId is: $userId");
}
?>
navbar.php -
<?php
if($userId){
try {
$user_profile = $facebook->api('/me','GET');
echo '<li><a href="#">Welcome: ' . $user_profile['name'] . '</a></li>';
echo '<li><img src="https://graph.facebook.com/' . $user_profile['username'] . '/picture"><li>';
echo '<li class="divider-vertical"></li>';
} catch (FacebookApiException $e) {
$login_url = $facebook->getLoginUrl();
echo '<li>Please <a href="' . $login_url . '">login.</a></li>';
error_log($e->getType());
error_log($e->getMessage());
}
}
else{
echo '<li><a href="newUser.php">Sign Up</a></li>
<li class="divider-vertical"></li>';
}
?>
<?php
if ($userId) {
// echo("userID is: $userId");
// $params = array( 'next' => 'http://localhost/bcbooks-repo/index_new.php' );
$logoutUrl = $facebook->getLogoutUrl(); // $params is optional.
echo '<li><a href="' . $logoutUrl . '">Log Out</a></li>';
$facebook->destroySession();
}
else{?>
<?php
$userId = $facebook->getUser();
$accessToken = $facebook->getAccessToken();
$params = array(
'scope' => 'read_stream, friends_likes',
'redirect_uri' => 'http://localhost/bcbooks-repo/index_new.php'
);
$loginUrl = $facebook->getLoginUrl($params);
echo '<a href="' . $loginUrl . '" class="btn btn-primary btn-block" type="button" id="sign-in-facebook">Sign In with Facebook</a>';
?>
<?php } ?>
index.php -
<?php
require_once 'inc/FB_login.php';
require_once 'inc/navbar.php'; ?>
登录 -
页面刷新后
控制台结果