Ich habe stundenlang nach der Lösung für dieses Problem gesucht, kann aber keine finden, die für mich funktioniert. Wenn ich auf meiner Website auf "Abmelden" klicke, sind die Benutzerinformationen weiterhin sichtbar und die Schaltfläche "Abmelden" wird weiterhin angezeigt. Hier ist der Code:Facebook PHP SDK - wird nicht korrekt abmelden
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'));
}
..... .....
<?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 ?>
Es scheint, dass if ($_GET['logout'] == "yes")
könnte die Antwort für mich sein, aber ich kann nicht daran zu arbeiten. Ich weiß nicht, woher logout
stammt oder wo es definiert ist?
Dies scheint ein häufiges Problem zu sein, aber ich kann es nicht herausfinden. Ich würde wirklich etwas Hilfe schätzen.
Vielen Dank! Dies sollte die akzeptierte Antwort sein. – celwell
Danke! Ich hatte keine Ahnung, dass es mich von Facebook abgemeldet hat, bis du darauf hingewiesen hast. – Gavin