2012-03-20 2 views
0

Я загрузил последнюю версию facebook php sdk. Я могу использовать fb login на своем веб-сайте. Но выход не работает. Сценарий запоминает пользовательские данные. Как исправить эту проблему? Ниже приведен код, который я использую.facebook logout не работает

<?php 
require '../src/facebook.php'; 

$facebook = new Facebook(array(
'appId' => 'xxxxxxxxx', 
'secret' => 'xxxxxxxxxxxxxxxxxx', 
)); 

// Get User ID 
$user = $facebook->getUser(); 

if ($user) { 
    try { 
// Proceed knowing you have a logged in user who's authenticated. 
$user_profile = $facebook->api('/me'); 
} catch (FacebookApiException $e) { 
error_log($e); 
$user = null; 
} 
} 

// Login or logout url will be needed depending on current user state. 
if ($user) { 
$logoutUrl = $facebook->getLogoutUrl(); 
} else { 
$loginUrl = $facebook->getLoginUrl(); 
} 


?> 
<!doctype html> 
<html xmlns:fb="http://www.facebook.com/2008/fbml"> 
<head> 
<title>php-sdk</title> 
<style> 
    body { 
    font-family: 'Lucida Grande', Verdana, Arial, sans-serif; 
    } 
    h1 a { 
    text-decoration: none; 
    color: #3b5998; 
    } 
    h1 a:hover { 
    text-decoration: underline; 
    } 
</style> 
</head> 
<body> 
<h1>php-sdk</h1> 

<?php if ($user): ?> 
    <a href="<?php echo $logoutUrl; ?>">Logout</a> 
<?php else: ?> 
    <div> 
    Login using OAuth 2.0 handled by the PHP SDK: 
    <a href="<?php echo $loginUrl; ?>">Login with Facebook</a> 
    </div> 
<?php endif ?> 

<h3>PHP Session</h3> 
<pre><?php print_r($_SESSION); ?></pre> 

<?php if ($user): ?> 
    <h3>You</h3> 
    <img src="https://graph.facebook.com/<?php echo $user; ?>/picture"> 

    <h3>Your User Object (/me)</h3> 
    <pre><?php print_r($user_profile); ?></pre> 
<?php else: ?> 
    <strong><em>You are not Connected.</em></strong> 
<?php endif ?> 


</body> 
</html> 

ответ

0

Удалите приложение из своей учетной записи Facebook и повторите попытку. Это исправило проблему для меня.

0
  1. Put массив ('Далее'), чтобы $logoutUrl
  2. Использование session_destroy();

    $logoutUrl = $facebook->getLogoutUrl(array('next' => 'url_you_are_redirecting_user_to')); session_destroy();

Возьмите уведомление, что перенаправляет ссылка должна быть в той же области охвата, что и все Приложение Facebook. В противном случае вы будете перенаправлены на домашнюю страницу Facebook.