php – facebook登录并从网站注销?
发布时间:2020-12-13 22:51:41 所属栏目:PHP教程 来源:网络整理
导读:我正在登录并注册一个有Facebook帐户信息的网站.为此,我已经制作了这样的代码 对于Index.html,我的代码是这样的 div id="fb-root"/divscript type="text/javascript"//![CDATA[window.fbAsyncInit = function() { FB.init({ appId : 'XXXXXXXXXXXXXXXX',// A
我正在登录并注册一个有Facebook帐户信息的网站.为此,我已经制作了这样的代码
对于Index.html,我的代码是这样的 <div id="fb-root"></div> <script type="text/javascript"> //<![CDATA[ window.fbAsyncInit = function() { FB.init({ appId : 'XXXXXXXXXXXXXXXX',// App ID channelURL : '',// Channel File,not required so leave empty status : true,// check login status cookie : true,// enable cookies to allow the server to access the session oauth : true,// enable OAuth 2.0 xfbml : false // parse XFBML }); }; // logs the user in the application and facebook function login(){ FB.getLoginStatus(function(r){ if(r.status === 'connected'){ window.location.href = 'fbconnect.php'; }else{ FB.login(function(response) { if(response.authResponse) { //if (response.perms) window.location.href = 'fbconnect.php'; } else { // user is not logged in } },{scope:'email'}); // which data to access from user profile } }); } // Load the SDK Asynchronously (function() { var e = document.createElement('script'); e.async = true; e.src = document.location.protocol + '//connect.facebook.net/en_US/all.js'; document.getElementById('fb-root').appendChild(e); }()); //]]> </script> <a href='#' onclick='login();'>Facebook Login</a> 在fbconnect.php我的代码看起来像这样 <?php require 'src/facebook.php'; $facebook = new Facebook(array( 'appId' => 'XXXXXXXXXXXXXXXX','secret' => 'XXXXXXXXXXXXXXXXXXXXXXXXXXXX','cookie' => true,)); $user = $facebook->getUser(); $loginUrl = $facebook->getLoginUrl(); //echo "<a href='$loginUrl'>login</a>"; $logoutUrl = $facebook->getLogoutUrl(); //echo $loginUrl; if($user){ $_SESSION['user_info'] = $user; $_SESSION['user_pro']= $facebook->api('/me'); echo $_SESSION['user_pro']['first_name']; echo $_SESSION['user_pro']['last_name']; echo '<pre>'; //print_r($_SESSION); echo '</pre>'; } else{ echo 'not logged in '; } echo "<a href='logout.php'>log out </a>" ?> 因为我也想要注销系统,以便用户也可以从网站注销我为logout.php做了像这样的代码 <?php require 'src/facebook.php'; //including the facebook php sdk $token = $facebook->getAccessToken(); $url = 'https://www.facebook.com/logout.php?next=' . YOUR_SITE_URL . '&access_token='.$token; session_destroy(); header('Location: '.$url); ?> 但这里显示的错误就像 Notice: Undefined variable: facebook in logout.php on line 3 Fatal error: Call to a member function getAccessToken() on a non-object in logout.php on line 3. 这里它很容易登录,但在注销时显示错误.有人可以告诉我如何解决这个问题吗?我是facebook应用程序的新手.所以任何帮助和建议都会非常明显.谢谢 解决方法
试试吧
require 'src/facebook.php'; $facebook = new Facebook(); //including the facebook php sdk $token = $facebook->getAccessToken(); 其中$facebook是Facebook类的实例.根据你的评论,如果你想从facebook注销那么你需要在你的注销函数中销毁会话 $facebook->destroySession(); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |