Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/243.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Facebook应用程序不显示任何内容(PHP错误)_Php_Facebook - Fatal编程技术网

Facebook应用程序不显示任何内容(PHP错误)

Facebook应用程序不显示任何内容(PHP错误),php,facebook,Php,Facebook,我相信这是一个PHP错误,但我不是100%确定。基本上,我正在尝试为我的网络杂志构建一个应用程序,并且已经完成了静态内容,效果很好。然后我转换成PHP,并尝试包含PHP Facebook SDK。我使用了正确的应用程序ID和密码 下面是我在index.php文件开头使用的代码 <?php require 'fb/facebook.php'; $fbconfig['appUrl'] = "http://apps.facebook.com/dailydischord/";

我相信这是一个PHP错误,但我不是100%确定。基本上,我正在尝试为我的网络杂志构建一个应用程序,并且已经完成了静态内容,效果很好。然后我转换成PHP,并尝试包含PHP Facebook SDK。我使用了正确的应用程序ID和密码

下面是我在index.php文件开头使用的代码

<?php
    require 'fb/facebook.php';

    $fbconfig['appUrl'] = "http://apps.facebook.com/dailydischord/";

    // create instance of the Facebook application
    $facebook = new Facebook(array(
        'appId' => '<appid>',
        'secret' => '<appsecret>',
        'cookies' => 'true',
    ));

    // get the id of the user using the app
    $user = $facebook->getUser();

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

    // if user is authentic, generate logout URL
    if($user) {
        $logoutUrl = $facebook->getLogoutUrl();
?>
<!DOCTYPE HTML>
<html>....
应用程序的URL位于此处:

任何帮助都将不胜感激。如果我遗漏了任何内容,请询问,我将尝试提供更多信息。

您正在尝试发送(会话)标题,而这些标题已经发送


可能在
之前有一个换行符,因为您的输出是完全空白的,这意味着语法错误或失败的
require
。您有权访问Web服务器错误日志吗?它可能会告诉你确切的问题。要快速检查,您可以将
require
更改为
include
,查看是否有输出(即使只是屏幕上的错误消息)。

您正在尝试输出标题,在本例中是会话。标题是浏览器处理的第一件事。当您想在输出HTML后更改此设置时,它将显示此错误

最好的方法是在输出数据后不要更改标题,也可以使用以下行并将其放在代码顶部:

ob_start();
请注意,使用它不是一个正确的修复方法,但它会打开输出缓冲(允许您在已经放置HTML代码时更改标题)

以下选项是可选的,但是正确的,使用ob_start()函数,在输出结束时,必须完全关闭缓冲并输出缓冲区中的内容

ob_end_flush();

要了解更多信息,请转到该页面。

我自己设法解决了这个问题。似乎最后一段代码就是问题所在(“else”语句)。这是我使用的代码

<?php
    } else {
        $loginUrl = $facebook->getLoginUrl(array('redirect_uri' => $fbconfig['appUrl']));
        print "<script type='text/javascript'>top.location.href = '$loginUrl';</script>";
    }
?>

不幸的是,所有这些都不起作用。当你说我在输出数据后更改标题时,我不明白你的意思。没有显示任何错误!我无法访问我的服务器错误日志。在您输出任何内容之前,它似乎确实发生了致命的PHP错误。尝试添加
回显“步骤1”就在
require
行之前,并有一个
回显“步骤2”紧跟在它之后,然后查看得到的输出。如果您同时看到这两个输出,请尝试添加其他输出以进一步缩小范围。
ob_end_flush();
<?php
    } else {
        $loginUrl = $facebook->getLoginUrl(array('redirect_uri' => $fbconfig['appUrl']));
        print "<script type='text/javascript'>top.location.href = '$loginUrl';</script>";
    }
?>