Facebook PHP SDK - wird nicht ordnungsgemäß abgemeldet

Ich habe stundenlang nach einer Lösung für dieses Problem gesucht, kann aber keine finden, die für mich funktioniert. Wenn ich auf meiner Site auf "Abmelden" klicke, sind die Benutzerinformationen weiterhin sichtbar und die Schaltfläche zum Abmelden wird weiterhin angezeigt. Hier ist der Code:

<code>require 'facebook-php-sdk/src/facebook.php';

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

// Get User ID
$user = $facebook->getUser();
var_dump($user);
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 ($_GET['logout'] == "yes") {
setcookie('fbs_'.$facebook->getAppId(), '', time()-100, '/', 'http://gno.....ment/index.php');
session_destroy();
header("Location: ".$_SERVER['PHP_SELF']."");
}

if ($user_profile) {
  $logoutUrl = $facebook->getLogoutUrl;
} else {
  $loginUrl = $facebook->getLoginUrl(array('scope' => 'email,publish_stream,user_status',
  'canvas' => 1,
  'fbconnect' => 0,
  'redirect_uri' => 'http://gno.....ment/index.php'));
}
</code>

..... .....

<code><?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 ?>

<?php if ($user): ?>
<a href="<?php echo $logoutUrl; ?>">Logout of FB</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 ?>
</code>

Es scheint, dassif ($_GET['logout'] == "yes") könnte die Antwort für mich sein, aber ich kann es nicht zum Laufen bringen. Ich weiß nicht wologout wird von bekommen oder wo ist es definiert?

Dies scheint ein häufiges Problem zu sein, aber ich kann es nicht herausfinden. Ich würde mich sehr über Hilfe freuen.

Antworten auf die Frage(8)

Ihre Antwort auf die Frage