【问题标题】:Iframe redirect erroriframe 重定向错误
【发布时间】:2010-07-02 08:46:26
【问题描述】:

我有一个 facebook iframe 应用程序在重定向时遇到问题,我不断收到诸如“内容被阻止,因为它没有由有效的安全证书签名”之类的安全证书错误,这是重定向代码,

$params = array(
    'canvas'=>1,
    'fbconnect'=>0,
    'req_perms'=>'user_photos,publish_stream,offline_access',
    'next'=>'http://apps.facebook.com/my-test/', 
    'cancel_url'=>'http://apps.facebook.com/my-test/',
);

$redirect = $facebook->getLoginUrl($params);

echo "<script language='Javascript' type='text/javascript'>top.location.href='$redirect';</script>";

当我尝试使用 PHP 重定向来重定向用户时,就像这样,

header('Location: '.$redirect);

我得到的只是一个填充黑色背景的 iframe。

还有其他方法可以重定向页面吗?或者修复这个错误?

提前谢谢!

【问题讨论】:

    标签: php javascript facebook


    【解决方案1】:

    确保您没有在头命令之前在脚本中发送空格。

    空格的例子

    <?php
    echo ' ';
    
    header('Location: home'); //Will not send.
    ?>
    

    另一个例子:

         <-- Whitespace here maybe?
    <?php
        header('Location: home'); //Will not send.
    ?>
    

    使用error_reporting(E_ALL);error_reporting(E_ALL);尝试打开 php 错误以调试发送 header 命令时发生的情况

    【讨论】:

    • 在关闭后有一个空格 ?> 也可能会触发此问题。建议在脚本中尽量省略 PHP 结束标签以避免这种情况,只保留第一行的开始标签。
    • 完美评论 Yanick,这是您可以用来避免空白并节省行数和大型系统每行数的技术之一。
    • 谢谢各位,试一试并报告!
    猜你喜欢
    • 1970-01-01
    • 2012-09-01
    • 1970-01-01
    • 2012-07-04
    • 2023-03-27
    • 2017-12-22
    • 2010-11-18
    • 1970-01-01
    • 2013-09-20
    相关资源
    最近更新 更多