0

私は次のコードを持っています:

require '../lib/facebook-php-sdk/src/facebook.php';

$facebook = new Facebook(array(
'appId'  => '143944345745133',
'secret' => 'xxxxxxxx',
'cookie' => true,
));

$user = $facebook->getUser();

if ($user) {
   try {
      $user_profile = $facebook->api('/me');
   } catch (FacebookApiException $e) {
      $user = 0;
   }
} 
if ($user) { 
  setcookie('loggedUserId', $user, time()+36000);
  setcookie('loggedUserName', $user_profile['name'], time()+36000);
} else {
  setcookie('loggedUserId', '', time()-3600);
  setcookie('loggedUserName', '', time()-3600);
} 

PHPエラーログファイルにエラーが表示されます。

[17-Dec-2012 06:11:34 UTC] There exists a cookie that we wanted to clear that we 
couldn't clear because headers was already sent. Make sure to do the 
first API call before outputing anything.

修正を手伝ってください。その結果、ユーザーエクスペリエンスは、ログインした後、実際にログインするためにページを再ロードする必要があります。ありがとう

4

1 に答える 1

0

コード内の何かが、setcookieの呼び出しの前に何かを出力しています。デバッグメッセージである可能性があります。または、<?phpタグを開く前の空の行ですら。

于 2012-12-19T18:33:28.140 に答える