0

PHP 用の Facebook openGraph API を使用しています。これが私のコードです:

<?php
session_start();

if (!isset($_SESSION['username'])) {

header("Location: index.php");
break;

}

$fbconfig['appid' ]     = "APPID";
$fbconfig['secret']     = "SECRET";
$fbconfig['baseurl']    = "http://blah.com/"; 

$user = null; 
try{
    include_once "facebook.php";
}
catch(Exception $o){
    error_log($o);
}
    // Create our Application instance.
try {
$facebook = new Facebook(array(
  'appId'  => $fbconfig['appid'],
  'secret' => $fbconfig['secret'],
  'cookie' => true,
));
} catch (Exception $e) { echo "ERROR: ".$e; } 

$user = $facebook->getUser();

$loginUrl   = $facebook->getLoginUrl(
        array(
            'scope'         => 'email,publish_stream,read_stream,user_birthday,user_location,user_work_history,user_about_me,user_hometown',
            'redirect_uri'  => $fbconfig['baseurl'].'blah.php'
        )
);



$logoutUrl = $facebook->getLogoutUrl(array( 'next' => ($fbconfig['baseurl'].'blah.php') ));


//if user is logged in and session is valid.
if ($user ){

    header("Location;$loginUrl");
    break;

}


?>

現在、これは他のページ (Facebook の部分) でも機能しますが、このページ (他のページと同じディレクトリ) でのみ機能します。だから私は私のブラウザでこれを取得します:

http://cl.ly/image/1y2a2F0e3I35

おかしなトリミングされた写真で申し訳ありませんが、ビジネスの名前や意図を明かすことはできません.

実際のサイトでは PHP の後に HTML があり、必要に応じてこれと js を追加できます。

ありがとうございました!

4

1 に答える 1

-1
     your header is wrong.......try following......
        header("Location:$loginUrl");
        and also if you don't get facebook user id then you have to redirect to login page but you did reverse.may do following
    //if user is not loggin
        if (empty($user)){
            header("Location:$loginUrl");
        }else{
           try {
                $userInfo = $facebook->api("/$user");
            } catch (FacebookApiException $e) {
                $userInfo=null;
            }
        }
于 2012-07-18T06:27:01.967 に答える