简体   繁体   English

如何使用PHP识别facebook app canvas /网站之间的平台?

[英]How to identify the platform between facebook app canvas / website using PHP?

How can I check if a user is coming from facebook or directly from the site? 如何检查用户来自Facebook还是直接来自网站? I have used this method $_REQUEST['signed_request'] but they response only one time. 我已经使用了$_REQUEST['signed_request']这个方法,但是它们只响应一次。

Your response is highly appreciated for me 您的回应对我非常感激

if(isset($_REQUEST)){
            if(isset($_REQUEST['signed_request'])){
                $this->result = "fb_platform";  
            }else{
                $this->result = "web_platform"; 
            }
}

I have changed my code after some Stack Overflow question reviews 经过一些堆栈溢出问题的检查后,我更改了代码

<script>
//if a user is coming from 
//facebook or directly from the site.

function platformAuthentication(){ 

    var platform = "fb_platform";
    if(window.self === window.top) {
        platform = "web_platform";
        $("#platform_key").val(platform);
        $("#platform_form").submit();
    }else{
        platform = "fb_platform";
        $("#platform_key").val(platform);
        $("#platform_form").submit();
    }

}
setTimeout(platformAuthentication,500);
</script>


</head>
<body>
<!--hidden form for user tracking, 
    if a user is coming from fb/direclty 
    from the site
-->
<form id="platform_form" name="platform_form" method="post" target="iframe_platform" action="url">
<input type="hidden"  id="platform_key" name="platform_key" />
</form>
<iframe id="iframe_platform" name="iframe_platform" src="url">
</iframe>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM