2011-06-07 65 views
3

以前我的代码运行良好,但现在它什么都不做
我想显示一个对话框,然后用户将能够选择一些朋友并邀请他们使用此应用程序。
此代码显示空白页面。邀请朋友加入应用程序 - Facebook

<?php 
include_once "fbmain.php"; 
if (isset($_REQUEST['ids'])){ 
echo "Invitation Sent"; 
    $string = "<script type='text/javascript'>top.location.href='{$fbconfig['appBaseUrl']}';</script>"; 
    echo $string; 
} 
else { 
?> 
<fb:serverFbml style="width: 500px;"> 
<script type="text/fbml"> 
    <fb:fbml> 
     <fb:request-form 
       action="<?=$fbconfig['baseUrl']?>/invite.php" 
       target="_top" 
       method="POST" 
       invite="true" 
       type= <?php echo $fbconfig['appname']; ?> 
       content="I tried this and love this, what about you ? <fb:req-choice url='<?php echo $fbconfig['appBaseUrl']; ?>' label='Accept' />" 
       > 

       <fb:multi-friend-selector 
       showborder="false" 
       actiontext=<?php echo $fbconfig['appname' ]; ?>> 
    </fb:request-form> 
    </fb:fbml> 
</script> 

+0

它渲染的BLA nk page,NO ERROR – Sourav 2011-06-07 05:58:35

回答

1

我们邀请朋友的唯一方法就是使用FB JS 代码

function showInvite() 
{ 
<?php 
if (strlen($fbconfig['appname' ])>50) 
{ 
$title = substr($fbconfig['appname' ],0,45); 
$title = $title . ' ...'; 
} 
else 
$title = $fbconfig['appname' ]; 

if (strlen($fbconfig['appBaseUrl'])>200) 
{ 
$message = substr($fbconfig['appBaseUrl'],0,200); 
$message = 'I just love this App, now it\'s your turn to try it @ '.$message; 
} 
else 
$message ='I just love this App, now it"s your turn to try it @ '.$fbconfig['appBaseUrl']; 
?> 
var r = FB.ui({ 
      method : 'apprequests', 
      message: '<?php echo $message; ?>', 
      title: '<?php echo $title; ?>', 
      }); 
} 
+0

function showInvite()必须在脚本标记中,当我调用这个函数时,它没有显示任何东西,我已经根据我的应用设置改变了appBaseUrl和appname – 2011-06-15 10:31:10

+0

Facebook已经改变了他们的GRAPH API来邀请朋友,在我的情况下它显示'UNKNOWN ERROR OCCURRED',显然showInvite应该在脚本标记中,因为它是一个JS函数。你也需要添加FB.JS! – Sourav 2011-06-15 15:07:18

0

您是否尝试过检查网页的源/ HTML?也许有一些错误报告。 你也可以在PHP调用error_reporting(E_ALL);这将使所有的错误被打印,而不是被隐藏。

此外,也许您可​​以检查您的浏览器JavaScript日志中是否有错误。

在Internet Explorer 9按F12

在Firefox下载萤火。

在Chrome中按CTRL + SHIFT +Ĵ

3

Facebook已经弃用这一传统FBML插件。尽管它可能还会工作一段时间,但您仍然希望升级到新的Requests Dialog,这将更容易获得支持。此外,我注意到其他一些弃用的功能最近停止工作(但他们还没有正式被杀),所以这可能是这种情况。但检查JavaScript控制台的任何错误并发布它们。

-1
function showInvite() { 
    <?php 
    if (strlen($fbconfig['appname']) > 50) { 
     $title = substr($fbconfig['appname'], 0, 45); 
     $title = $title . ' ...'; 
    } else $title = $fbconfig['appname']; 

    if (strlen($fbconfig['appBaseUrl']) > 200) { 
     $message = substr($fbconfig['appBaseUrl'], 0, 200); 
     $message = 'I just love this App, now it\'s your turn to try it @ ' . $message; 
    } else $message = 'I just love this App, now it"s your turn to try it @ ' . $fbconfig['appBaseUrl']; ?> 

    var r = FB.ui({ 
     method: 'apprequests', 
     message: '<?php echo $message; ?>', 
     title: '<?php echo $title; ?>', 
    }); 
} 
+0

不要忘记描述你的代码;它如何解决问题?它与五年前的答案有什么不同? – 2016-06-13 18:35:28

相关问题