-1

私は私のワードプレスサイトで次のphpコードを使用しています

<?php
session_start();

require 'src/facebook.php';
include 'config.php'; 
$facebook = new Facebook(array(
  'appId'  => $app_id,
  'secret' => $app_secret
));

// Get User ID
$user = $facebook->getUser();

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

if ($user) {
echo "loggedin";

}

else
{
echo "not loggedin";
}

?>

しかし、アプリを認証しても、ログインしていない状態になり続けます。上記のコードは通常のアプリでは正常に機能しますが、私のワードプレスサイトでは、セッションエラーが発生し、ヘッダーはすでに送信されています。

この問題を解決する別の方法を教えてください。

注:JavaScriptは必要ありません

4

1 に答える 1

0

このエラーは、実際にはsession_startを実行したときに送信される可能性があります。これは、ヘッダー以外の要素が既に作成されているため、ページのヘッダーが既に送信されているためです。つまり、前のスクリプトにテキストが表示される前にこれを行う必要があります(たとえば、これをどこかの途中に含める場合は、前に呼び出されたスクリプトでこれを行うだけです)。

これはワードプレスであり、これをどこかに置いているだけなので、プロジェクトの最初の部分を(ヘッダーが送信される前に)別の部分に分割してから、この場所でエコーを使用することをお勧めします。

PHPだけを書いている場合は、ファイルの最後に?>を使用しないようにすることもできます。これは、その後の空白行が出力に送信される可能性があるためです。

于 2012-09-16T11:52:46.053 に答える