我正在用PHP为我的应用程序创建一个登录页面。我的应用程序使用fconnect登录。现在,
如果我打开web应用程序独立(www.acdef.com),它应该显示fconnect登录。如果它是在facebook (apps.facebook.com/myapp)内打开的,它不应该显示fconnect登录,并且根据用户的不同,应该显示fb权限或应用程序登录页面。以下是我所做的
if( (isset($_SERVER['HTTP_REFEREER']) && strpos($_SERVER['HTTP_REFEREER'], "facebook.com") !==false) || (isset($this->request->get['ref']) && strpos($this->request->get['ref'], "facebook.com") !==false))
{
// I am in canvass
}
{
// I am not in canvass
}然而,它并不总是有效的。很多时候,甚至在拉票的时候,我都会看到fblogin按钮。
最好的解决方案是什么?
-Ajay
发布于 2013-02-27 18:43:02
如果你的应用是在画布中打开的,你应该设置了$_REQUEST['signed_request']。
if( isset($_REQUEST['signed_request']) )
{
// I am in canvass
}
else
{
// I am not in canvass
}发布于 2014-02-28 17:38:33
您可以检查应用程序是否在iframe (fb canvas)中,并按如下方式操作:
<script type="text/javascript">
if(window==window.top){
top.location.href = '<?=$redirect_url?>';
}
</script>https://stackoverflow.com/questions/15103114
复制相似问题