与facebook邀请朋友对话有问题

时间:2013-05-14 20:51:18

标签: php javascript facebook-php-sdk

我有一个带有if语句的按钮,并且想法是当按下按钮时,会显示facebook多朋友邀请对话框。

当主画布加载时我确实显示了它,但是当点击按钮时我需要它,现在当我点击按钮时它只是刷新背景。

这是我的陈述:

<?php
if(isset($_POST['invite']))
{
?>
<div id="fb-root"></div>"
<script src="http://connect.facebook.net/en_US/all.js"></script>
<script>
FB.init({ 
        appId:'161051054059696', 
    cookie:true, 
        status:true, 
    xfbml:true 
     });

     FB.ui({ method: 'apprequests', 
        message: 'Share a geordie wall post with your mates!'});
  </script>
<?php
}
?>

而不是关闭和打开我尝试使用echo的php标签,但这也不是很成功。我个人认为我的if语句看起来应该有用,但显然不行。

希望有人可以提供帮助。

我编辑的代码:

<div align="center">
<form method="post">
<input type="image" name="invite" src="images/invite.png"   onClick="inviteFriend();">
</form>
<?php
if(isset($_POST['invite']))
{
?>
<div id="fb-root"></div>"
<script src="http://connect.facebook.net/en_US/all.js"></script>
<script>
FB.init({ 
    appId:'161051054059696', 
cookie:true, 
    status:true, 
xfbml:true 
 });

function inviteFriend(){
     FB.ui({ method: 'apprequests', 
        message: 'Share a geordie wall post with your mates!'});
}
</script>

<?php
}
?>

我刚才意识到在原始代码中,我没有包含我的按钮代码。我有自己的图像用作按钮,如果这会产生影响。

2 个答案:

答案 0 :(得分:0)

PHP是服务器端。因此,当用户点击按钮时,php端不再存在。

你必须创建一个javascript函数。

function inviteFriend(){
    FB.ui({ method: 'apprequests', 
        message: 'Share a geordie wall post with your mates!'});
}

并将按钮单击关联到该功能。

<input type="button" onClick="inviteFriend();" value="Invite" />

答案 1 :(得分:0)

好的,所以我设法得到了我正在寻找的结果。我在Requests Dialog code does nothing

找到了它

所以我更改了我的代码,删除了表单并使用了它:

<div id="fb-root"></div>"
<script src="http://connect.facebook.net/en_US/all.js"></script>
<a href="#" onclick="inviteFriend()"><img src="images/invite.png"></a>
<script>
FB.init({ 
    appId:'161051054059696', 
cookie:true, 
    status:true, 
xfbml:true 
 });

function inviteFriend(){
 FB.ui({ method: 'apprequests', 
    message: 'Share a geordie wall post with your mates!'});
}
</script>

所以实际上不需要使用if语句或提交按钮。只需一个简单的图像与onclick