Facebook PHP SDK - nie wyloguje się poprawnie
Szukałem godzin na rozwiązanie tego problemu, ale nie mogę znaleźć takiego, który działa dla mnie. Po kliknięciu przycisku „Wyloguj” w mojej witrynie informacje o użytkowniku są nadal widoczne, a przycisk wylogowania jest nadal wyświetlany. Oto kod:
<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>
Wygląda na to żeif ($_GET['logout'] == "yes")
może być dla mnie odpowiedzią, ale nie mogę tego zrobić. Nie wiem gdzielogout
jest z lub skąd jest zdefiniowany?
To wydaje się być częstym problemem, ale nie mogę tego zrozumieć. Naprawdę byłbym wdzięczny za pomoc.