我正在为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
答案 0 :(得分:1)
如果您的应用在画布内打开,则设置$_REQUEST['signed_request']
。
if( isset($_REQUEST['signed_request']) )
{
// I am in canvass
}
else
{
// I am not in canvass
}
答案 1 :(得分:0)
您可以检查应用是否在iframe
(fb画布)中
并采取相应行动:
<script type="text/javascript">
if(window==window.top){
top.location.href = '<?=$redirect_url?>';
}
</script>