Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/266.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
Php Facebook iframe-标题已发送_Php_Iframe_Header - Fatal编程技术网

Php Facebook iframe-标题已发送

Php Facebook iframe-标题已发送,php,iframe,header,Php,Iframe,Header,可能重复: 我不知道该怎么处理这个错误消息 Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /data/web/virtuals/8301/virtual/www/subdom/fb/soutez/fbmain.php:1) in /data/web/virtuals/8301/virtual/ww

可能重复:

我不知道该怎么处理这个错误消息

Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /data/web/virtuals/8301/virtual/www/subdom/fb/soutez/fbmain.php:1) in /data/web/virtuals/8301/virtual/www/subdom/fb/soutez/facebook.php on line 37

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /data/web/virtuals/8301/virtual/www/subdom/fb/soutez/fbmain.php:1) in /data/web/virtuals/8301/virtual/www/subdom/fb/soutez/facebook.php on line 37

Warning: Cannot modify header information - headers already sent by (output started at /data/web/virtuals/8301/virtual/www/subdom/fb/soutez/fbmain.php:1) in /data/web/virtuals/8301/virtual/www/subdom/fb/soutez/base_facebook.php on line 589

怎么了?我的facebook应用程序在IE中无法运行,所以我尝试添加P3P标题。从那时起,我的生活就是地狱。我也不明白,我的应用程序出了什么问题。它只包含一个小表单,当我尝试提交此表单时,IE将我重定向回表单而不是提交。php

在将任何输出发送到客户端之前,您需要发送所有标题。有两种解决办法

将标题调用放在文档顶部或任何回显和/或打印调用之前。 在文档末尾使用并输出所有缓冲内容。 你可以把

<?php ob_start(); ?>

在脚本的开头。

您似乎正在使用PHP-SDK,其中Facebook.PHP中的Facebook类使用session_start

因此,在设置P3P头之前,您要创建一个类的实例,可能是这样的:

$facebook = new Facebook(array(
  'appId' => 'app_id',
  'secret' => 'app_secret',
));
...
some code here
...
header('P3P: CP=HONK');
您需要做的只是在初始化Facebook类之前发送标题:

header('P3P: CP=HONK');
$facebook = new Facebook(array(
  'appId' => 'app_id',
  'secret' => 'app_secret',
));

也许发布代码的相关部分可能会有用。错误:在发送任何内容之前,只能添加标题-检查PHP文件开头的空格或Unicode BOM,以及包含的任何文件。为什么需要P3P标题来修复某些错误?即使在IE中没有这样的标题,一切都应该工作。试着找出真正的/最初的错误,而不是四处修正。我写道,为什么我添加了P3P头。因为我的应用程序只包含小表单,当我尝试提交此表单时,IE将我重定向回表单,而不是submit.php…我发现,可以通过添加P3P来解决。我在顶部有此标题,在任何php或HTML内容之前。一切都是一样的。我试图将头文件放在与Facebook类相同的文件中。但情况更糟。现在,我单击应用程序选项卡,它会抛出一些会话错误,然后在我的注册表单上重定向我。非常好。确保文件或其他包含的文件开头没有空格。例如,在之前的一个空格中,我忽略了所有这些带有空格的解决方案,但是NetBeans节省了我的时间,谢谢。提交后重定向回我的表单仍然存在。