所以我在标题中设置了php sdk:
//set up Facebook object webroot is a variable that is defined above in the page
require_once (''.$webroot.'facebook-platform/facebook.php');
$facebook = new Facebook(array(
'appId' => 'ID',
'secret' => 'SECRET',
'cookie' => true,
));
if($facebook->getUser() != 0){ // If someone's logged in...
//Code in here that does stuff
}
?>
然后我在登录按钮的主体中有这个代码:
<div id="fb-root"></div>
<script>
window.fbAsyncInit = function() {
FB.init({
appId : 'ID',
status : true,
cookie : true,
xfbml : true,
oauth : true,
});
};
(function(d){
var js, id = 'facebook-jssdk'; if (d.getElementById(id)) {return;}
js = d.createElement('script'); js.id = id; js.async = true;
js.src = "//connect.facebook.net/en_US/all.js";
d.getElementsByTagName('head')[0].appendChild(js);
}(document));</script>
<div class="fb-login-button" data-show-faces="false" data-width="200" data-max-rows="1"></div>
但点击登录按钮不执行任何操作,getUser
始终返回0
。这只是我网站上的一个fb登录按钮,我需要的唯一信息是FB用户ID,因为我用它绑定到我的MySQL数据库,以便在我的网站上访问该用户的一堆信息。但它根本不起作用。
答案 0 :(得分:0)
在代码的Javascript部分中,您必须让PHP回显ID。它不会理解常数。所以
FB.init ({appID : '<?php echo ID;?>',....