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 回答