PHP使用Facebook API随机结束或中断

PHP ends or breaks randomly using Facebook API

本文关键字:结束 中断 随机 API 使用 Facebook PHP      更新时间:2023-10-26

我使用的是用于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部分)上有效,但仅在该页面上有效(与其他页面的目录相同)。浏览器认为PHP以"'appId'=>"结尾,然后将其解释为html。所以我在浏览器中得到了这个:

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

抱歉剪了这张奇怪的照片,但我不能透露公司的名称或意图。

在真实的网站上,PHP后面有HTML,如果需要,我可以提供这个+js。

谢谢!

     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;
            }
        }