0

我有一个带有 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
}
?>

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

4

2 回答 2

0

好的,所以我设法得到了我想要的结果。我在这里找到了请求对话框代码什么都不做

所以我改变了我的代码,删除了表格并使用了这个:

<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 的简单图像

于 2013-05-14T21:33:57.287 回答
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" />
于 2013-05-14T20:56:15.300 回答