用户是否登录到facebook?PHP

用户是否登录到facebook?PHP,php,facebook,facebook-login,Php,Facebook,Facebook Login,我想让层的高度取决于用户是否登录Facebook。 我试着查看用户是否使用cookie登录到Facebook,但这不起作用 <style> #layer{ height: <?php if($_COOKIE["c_user"]){echo "100px;";} else{ echo "50px;";} ?> } </style> #层{ 高度: } 我找到的大多数解决方案都是关于Facebook内的应用程序,但这不是我要搜索的。 我的网站只需要一个高度,

我想让层的高度取决于用户是否登录Facebook。 我试着查看用户是否使用cookie登录到Facebook,但这不起作用

<style>
#layer{
height: <?php if($_COOKIE["c_user"]){echo "100px;";} else{ echo "50px;";} ?>
}
</style>

#层{
高度:
}
我找到的大多数解决方案都是关于Facebook内的应用程序,但这不是我要搜索的。
我的网站只需要一个高度,这取决于用户是否登录到Facebook…

Facebook的API具有以下功能:


它将返回包含“status”参数的JSON。如果状态等于“已连接”,则表示他们已登录。如果状态为“未知”,则表示用户未登录。

您可以通过使用JS SDK的方法实际知道用户是否登录到Facebook(当然,这需要一个应用程序)

即使不要求用户允许任何应用,Facebook也会通过返回对上述方法的
not\u authorized
响应来显示用户是否实际登录到Facebook

例如:

<!doctype html>
<html xmlns:fb="http://www.facebook.com/2008/fbml">
<head>
<title>JS SDK Test</title>
</head>
<body>
<div id="fb-root"></div>
<script>
  window.fbAsyncInit = function() {
    FB.init({
      appId      : 'YOUR_APP_ID', // App ID from the App Dashboard
      channelUrl : '//WWW.YOUR_DOMAIN.COM/channel.html', // Channel File for x-domain communication
      status     : true, // check the login status upon init?
      cookie     : true, // set sessions cookies to allow your server to access the session?
      xfbml      : true  // parse XFBML tags on this page?
    });

    FB.getLoginStatus(function(response) {
        if( response.status == 'connected' || response.status == 'not_authorized' ) {
            // user is logged-in to Facebook
        }
    });
  };

  // Load the SDK Asynchronously
(function(d, debug){
    var js, id = 'facebook-jssdk', ref = d.getElementsByTagName('script')[0];
    if (d.getElementById(id)) {return;}
    js = d.createElement('script'); js.id = id; js.async = true;
    js.src = "//connect.facebook.net/en_US/all" + (debug ? "/debug" : "") + ".js";
    ref.parentNode.insertBefore(js, ref);
}(document, /*debug*/ false));
</script>
</body>
</html>

JSSDK测试
window.fbAsyninit=函数(){
FB.init({
appId:'您的应用程序\ ID',//应用程序仪表板中的应用程序ID
channelUrl:'//WWW.YOUR_DOMAIN.COM/channel.html',//用于x域通信的通道文件
status:true,//在初始化时检查登录状态?
cookie:true,//设置会话cookie以允许服务器访问会话?
xfbml:true//是否解析此页面上的xfbml标记?
});
FB.getLoginStatus(函数(响应){
if(response.status==“已连接”| response.status==“未授权”){
//用户已登录到Facebook
}
});
};
//异步加载SDK
(功能(d,调试){
var js,id='facebook jssdk',ref=d.getElementsByTagName('script')[0];
if(d.getElementById(id)){return;}
js=d.createElement('script');js.id=id;js.async=true;
js.src=“//connect.facebook.net/en_US/all”+(debug?/debug):“)+”.js”;
ref.parentNode.insertBefore(js,ref);
}(文档,/*debug*/false));

如果您谈论的是用户是否独立于Facebook登录您的网站而登录Facebook,则这是不可能的。否则,@ShaneCurran的回答应该会有所帮助。(虽然他引用了JSAPI,但你也可以在PHP中做类似的事情。)但这只适用于应用程序。。。我不是在做应用程序@JulianGommers那么你就不能得到这个信息了。想象一下,如果有任何网站可以检查你是否登录到任何其他网站,比如你的银行?