0

この例は、実際には Facebook からコピーされたものです。

ページにアクセスすると、動作がおかしくなります。最初の「ログイン」は正常に機能しているようです。次に、「ログアウト」リンクが表示されます。しかし、それをクリックすると、まったく同じ画面が再び表示され、「ログアウト」リンクが再び表示されます。リフレッシュも同じ画面になります。

ただし、Facebook で確認すると、ログアウトされます。

ブラウザを閉じて再度開くと、「ログイン」が正しく表示されるようになりました。

<?php

require 'facebook.php';

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

$user = $facebook->getUser();

if ($user) {
  try {
    $user_profile = $facebook->api('/me');
  } catch (FacebookApiException $e) {
    error_log($e);
    $user = null;
  }
}

if ($user) {
  $params = array( 'next' => 'http://xxxxxxxxxx' );
  $logoutUrl = $facebook->getLogoutUrl($params);
} else {
  $params = array( 'redirect_uri' => 'http://xxxxxxxxxx' );
  $loginUrl = $facebook->getLoginUrl($params);
}

?>

<!doctype html>
<html>
  <head></head>
  <body>

    <?php if ($user): ?>
      <a href="<?php echo $logoutUrl; ?>">Logout</a>
    <?php else: ?>
      <a href="<?php echo $loginUrl; ?>">Login with Facebook</a>
    <?php endif ?>

    <?php if ($user): ?>
      Picture = <img src="https://graph.facebook.com/<?php echo $user; ?>/picture">
      User Object = <?php print_r($user_profile); ?>
    <?php else: ?>
      User is not Connected.
    <?php endif ?>

  </body>
</html>
4

2 に答える 2

1
$past = time() - 3600;
foreach ( $_COOKIE as $key => $value )
{
    setcookie( $key, $value, $past, '/' );
}

このコードを試すことができます。サイトから保存されたすべての Cookie を破棄するだけです。それは私のために働いています..!

于 2013-06-10T19:03:58.063 に答える